恢复的数据库占用了大量 space
Restored database taking massive amount of space
我用一个 1.5gb 的 .bak 文件恢复了一个数据库。除了恢复的数据库现在占用 64gb space.
之外,一切正常
我听说过缩减数据库和日志文件,但我应该如何找出是什么占用了这么多 space 以及我能做什么 "shrink" 这样数据本身就不会改变。我的开发环境中需要这个生产备份数据。
我在进行恢复的开发环境中不需要完整日志。如何判断是数据还是日志占用了更多space?
我正在使用 SQL Server Management Studio 2017
您可以使用
查看备份中数据库的文件大小是多少
restore filelistonly from disk = 'here_the_full_pass_to_your_backup_including_file_name'
所以您可以计划需要多少 space。
How to find out is it the data or the logs that take more space?
请用
的结果更新您的问题
use MyDB;
exec sp_spaceused;
也许是日志?
我建议你分析一下是否适合你。使备份更短:See More
BACKUP DATABASE XXXXX TO DISK 'C:\XXX.bak' WITH COPY_ONLY
您还可以在恢复后将 Recovery Model 从完全(默认)更改为简单。
然后SHRINK它
老实说,我不确定是否所有这些都是必要的,但这对我来说可以减少 space。也许在更改恢复模型之前收缩更好,或者其中之一不是最佳实践。
您的问题:"How to find out if it is the data or the logs that take more space?"
答:这是一种方法。在 Sql Mgt 中右键单击您的数据库。 Studio,单击“报告”=>“标准报告”,然后单击“磁盘使用情况”。
如果您不了解完整恢复模型和简单恢复模型之间的区别,我鼓励您阅读一些内容。还要了解缩小文件和自动增长的后果。缩小文件不会导致您丢失已提交的数据,但会在以后 Sql 需要自动增长文件时导致性能下降。
如果您不需要完整恢复模式并且不关心自动增长,则将其更改为简单或批量记录,然后收缩日志文件。
如果您不担心自动增长,那么您也可以收缩数据文件。
我用一个 1.5gb 的 .bak 文件恢复了一个数据库。除了恢复的数据库现在占用 64gb space.
之外,一切正常我听说过缩减数据库和日志文件,但我应该如何找出是什么占用了这么多 space 以及我能做什么 "shrink" 这样数据本身就不会改变。我的开发环境中需要这个生产备份数据。
我在进行恢复的开发环境中不需要完整日志。如何判断是数据还是日志占用了更多space?
我正在使用 SQL Server Management Studio 2017
您可以使用
查看备份中数据库的文件大小是多少restore filelistonly from disk = 'here_the_full_pass_to_your_backup_including_file_name'
所以您可以计划需要多少 space。
How to find out is it the data or the logs that take more space?
请用
的结果更新您的问题use MyDB;
exec sp_spaceused;
也许是日志?
我建议你分析一下是否适合你。使备份更短:See More
BACKUP DATABASE XXXXX TO DISK 'C:\XXX.bak' WITH COPY_ONLY
您还可以在恢复后将 Recovery Model 从完全(默认)更改为简单。
然后SHRINK它
老实说,我不确定是否所有这些都是必要的,但这对我来说可以减少 space。也许在更改恢复模型之前收缩更好,或者其中之一不是最佳实践。
您的问题:"How to find out if it is the data or the logs that take more space?"
答:这是一种方法。在 Sql Mgt 中右键单击您的数据库。 Studio,单击“报告”=>“标准报告”,然后单击“磁盘使用情况”。
如果您不了解完整恢复模型和简单恢复模型之间的区别,我鼓励您阅读一些内容。还要了解缩小文件和自动增长的后果。缩小文件不会导致您丢失已提交的数据,但会在以后 Sql 需要自动增长文件时导致性能下降。
如果您不需要完整恢复模式并且不关心自动增长,则将其更改为简单或批量记录,然后收缩日志文件。
如果您不担心自动增长,那么您也可以收缩数据文件。