缩小SQL Server数据库无法正常工作

use*_*388 7 sql-server sql-server-2008-r2

我不是DBA但我需要缩小数据库,我尝试使用SSMS接口缩小它并不起作用.

统计数据如下:

  • 大小:235,013.00 MB
  • 可用空间:65,587.59 MB

我也尝试过这个DBCC SHRINKDATABASE ... TRUNCATEONLY命令,也没有改变任何东西.

如何在不丢失数据的情况下缩小此DB(将未使用的空间释放到OS)?

小智 7

顺便也检查初始大小.如果您的初始大小为235,013 MB,那么您需要先缩小初始大小.

其次,缩小是你可以对数据文件做的最糟糕的事情之一.如果缩小tlog文件就可以了,因为tlogs不使用数据页面结构.如果缩小数据库数据文件,则可以将完全分散的数据库构建为完全分散的数据库.它会使表现无法承认.为什么你想顺便收缩?数据库是200英镑GB,有60个免费的东西....大约30%免费.难道你不想在一段时间内,可以利用这个空间吗?

如果仍需要缩小数据库,则可以创建文件组并将数据移动到该文件组并删除当前文件组,或者如果是主文件组,则可以将大小减小到最小值.


小智 2

  1. 在 SSMS 中,尝试使用右键单击 DB->Tasks->Shrink->Files 来查看数据和事务日志文件使用了多少空间。
  2. 您的数据库的恢复模型可能设置为“完整”,在这种情况下,除非您执行完整的数据库备份,否则您将无法缩小事务日志。如果不担心,只需将恢复模式更改为简单,然后尝试再次缩小事务日志和数据文件。