是否可以在可用空间不足的驱动器上缩小 .MDF 文件?

5 sql-server-2008 sql-server shrink

有没有办法在不使用额外空间的情况下缩小 SQL Server 2008 中数据库的 mdf 文件?

硬盘总空间为 136 GB,.MDF 文件大小为 124 GB,日志文件大小为 2 GB。我只有 12 GB 的可用空间,并且在对 .MDF 文件运行收缩命令时,日志正在增长并消耗可用空间——低磁盘空间使收缩进入无响应状态。

是否有另一种方法可以在不使用额外磁盘空间的情况下缩小此文件?

swa*_*eck 5

总结这里的答案注入我自己的建议:

1:盲目缩小数据文件不是最佳途径。你的数据就是你的数据,它的特点是这个大小。除非您打算删除大量数据,否则缩小不会做任何事情。正如@billinkc指出的那样,简单地缩小文件不会给您带来任何可观的收益。

2 : 运行这将使您的日志文件增长。显然,您拥有数据并登录同一个驱动器。我建议不要这样做,原因有很多,包括空间和 IO 争用。

3:您当然可以创建一个新的数据文件并将其放在不同的卷上。您可以将旧数据“存档”以释放当前 .mdf 中的空间,或者您可以保留当前数据文件原样,它将成为各种存档。

4 : 我猜这卷上还有其他的东西。我会尽快移动这些东西以腾出空间。

如果这是企业数据,我会推动更多磁盘。这将允许您将数据和日志文件分开。此外,除了删除数据之外,您还需要更多磁盘来实施 Brandon 的建议。


小智 -1

这方面的文档在这里:

http://msdn.microsoft.com/en-us/library/ms190488(v=sql.100).aspx

仔细阅读链接。