有没有一种方法来估计一个SQL Server数据库会收缩多长时间? 有没有可以提供一些猜测的工具?
我们有非常大的数据库,所以知道数据库将不能使用多长时间(即使只是以小时为单位的近似估计值)是一件好事。
提前致谢!
收缩数据库很less被推荐,因为它会导致索引和磁盘碎片。 如果您确实需要缩小文件,则操作是在线操作,不会使数据库脱机。
我不相信数据库在收缩发生时将不可用。 我相信这适用于运行DBCC SHRINKDATABASE,DBCC SHRINKFILE,以及从SSMS收缩数据库和/或文件。 数据库在收缩时不会进入单用户模式。 唯一需要注意的是数据库在备份时不能缩小。
我认为执行收缩的唯一正当理由是如果您已经转换了表压缩或者分配了可用空间并且磁盘空间不足。
将数据库恢复到其他类似的工具包并执行相同的操作。
即使它是较老的硬件,至less你有一个比较基准。
看看使用TRUNCATEONLY选项运行收缩,这是一个更快的操作,可以释放足够的空间,而不需要执行页面移动,这是导致表locking的原因。