我们已经从两位数 TB 大小的数据库中删除了大部分数据,现在想将一些空间释放回操作系统。数据库目前大约有 80% 的未使用空间。它永远不会再达到以前的大小(负载已转移到其他地方)。
我们尝试在单独服务器(非生产)上的数据库副本上运行 SHRINKDATABASE。运行 2 天(在我们的硬件上)它能够释放空间。
我假设生产中的数据库需要更长的时间,因为它被大量使用(尽管现在主要用于查询,插入较少)。
在生产系统上,只能接受数小时的停机时间(一次)。一些性能在长时间内下降也是可以接受的。
关于如何释放大量未使用空间,而不会造成过多停机时间或在此过程中导致严重性能下降的任何想法?
sql-server ×1