通过 xgb 收缩 SQL Server DB

Cat*_*key 0 sql-server shrink

我试图释放数据库中的一些空间,首先是通过换出和归档分区。数据库很大,我想开始释放驱动器上的一些空间,但我不想完全缩小数据库,因为这需要数周时间。

是否可以将 SQL Server DB 缩小 10GB?

谢谢大家!

厘米

Aar*_*and 5

是的,您可以,但除非您 100% 确定数据库不会再次增长,否则这不是一个好主意。如果是这样,那么缩小文件以释放空间就像在五彩纸屑仍在地毯上落下时吸尘一样,您真的应该阅读许多关于缩小文件是多么徒劳的帖子之一再次。除了您的空闲空间 % 看起来好一点之外,什么也得不到。大吼!即使您无法维持磁盘上的可用空间,您是否也会获得奖励?

http://www.sqlskills.com/blogs/paul/why-you-should-not-shrink-your-data-files/

为什么事务日志不断增长或空间不足?

现在,如果您真的、真的、真的想缩小您的文件,即使在阅读了上述所有材料并拒绝听从我们的警告之后,请继续阅读。

如果要将数据文件缩小 10GB,请查看它现在的大小,然后使用DBCC SHRINKFILE(not DBCC SHRINKDATABASE) 并将大小设置为比它小 10GB。查看来自的sizesp_helpfile- 假设文件现在是 41 GB,并且您希望它缩小到 31 GB,那么您会说:

DBCC SHRINKFILE(filename, 31000); -- 31,000 MB
Run Code Online (Sandbox Code Playgroud)

您可能会做比这更好的数学运算(我知道 10,000 MB 不完全是 10 GB,但您明白了)。