我创建了一个 SQL 弹性池,但我没有更多的存储空间:
我DBCC SHRINKDATABASE (N'db1')
按照本指南在每个数据库上运行以申请空间:Reduce Azure SQL Database Size但似乎我没有获得任何空间。
我应该使用吗DBCC SHRINKFILE (log, 0)
?
我正在考虑自动收缩,但如果背后的逻辑与 SHRINKDATABASE 相同,则没有必要将其放置到位。
那么如何在 SQL Elastic Pool 上申请未使用的空间呢?
我创建了一个 SQL 弹性池,但我没有更多的存储空间:
我DBCC SHRINKDATABASE (N'db1')
按照本指南在每个数据库上运行以申请空间:Reduce Azure SQL Database Size但似乎我没有获得任何空间。
我应该使用吗DBCC SHRINKFILE (log, 0)
?
我正在考虑自动收缩,但如果背后的逻辑与 SHRINKDATABASE 相同,则没有必要将其放置到位。
那么如何在 SQL Elastic Pool 上申请未使用的空间呢?
现在我找到了这个解决方案:
由于它更快,
TRUNCATEONLY
并且它完成了狗屎:我也在测试Davide De Pretto 的这个答案,我将比较这两个选项。
检查您的事务日志大小 - 缩小取决于您的恢复模型,该模型以不同方式处理事务日志。
对于 SIMPLE 恢复模型,只需收缩就足够了:
对于 FULL 恢复模式,您可以暂时切换到简单并执行上述操作:
ALTER DATABASE dbname SET RECOVERY SIMPLE DBCC SHRINKDATABASE(dbname) ALTER DATABASE dbname SET RECOVERY FULL 复制代码
或者尝试释放/丢弃事务日志: