删除表后缩小数据库?

Ezi*_*Ezi 8 sql-server shrink drop-table

我在 SQL Server 数据库中有一个包含 70 多万条记录的表,我删除了该表(一次性的事情)以释放磁盘空间,但看起来大小没有太大变化。我确实看到我可以将数据库缩小到最低限度。

这是这样做的方式吗?

上次我使用 SQL Server Management Studio 进行收缩时,花了几个小时才完成。有没有更快的方法?

在此处输入图片说明

mrd*_*nny 11

删除表将释放数据库中的空间,但不会将空间释放回 Windows。这需要缩小数据库文件。但是我们不希望数据库文件已满。我们需要大量可用空间,以便在加载更多数据时不必频繁地增大数据文件。这会导致物理磁盘上的数据文件碎片化。

至于让收缩更快,没有办法让它更快。缩小数据库需要读取和重写数据库中的大部分数据,以便可以将所有空白空间从数据库文件释放回操作系统。所有这些 IO 都需要时间,并且会导致很多碎片问题。


小智 7

您需要非常仔细地阅读有关 DBCC SHRINKFILE 的信息。

http://technet.microsoft.com/en-us/library/ms189493.aspx

通常,您不希望将数据库缩小到磁盘上可能的最小大小。您希望为 SQL Server 留出足够的空间,以便它不必自动增长太多。这里的答案有很多有用的信息:

/sf/ask/316590361/