当我尝试使用以下命令删除索引时:
DROP INDEX [ClusteredColumnStoreIndex-20180619-104559] ON [dbo].[Transactions]
我收到此错误:
Msg 9002,第17级,状态4,第4行
由于“ ACTIVE_TRANSACTION”,数据库“ Metrics”的事务日志已满。
此时数据库所在的磁盘也空间不足。
有人可以帮我删除此索引吗?
答案 0 :(得分:-1)
使用以下技术
1)确保在联机运行大规模索引操作之前已备份和截断事务日志,并且该日志具有足够的空间来存储预计的索引和用户事务。
2)考虑将索引操作的SORT_IN_TEMPDB选项设置为ON。这将索引事务与并发用户事务分开。索引事务将存储在tempdb事务日志中,并发用户事务将存储在用户数据库的事务日志中。如果需要,这允许在索引操作期间截断用户数据库的事务日志。此外,如果tempdb日志与用户数据库日志不在同一磁盘上,则这两个日志不会争用同一磁盘空间。
注意
验证tempdb数据库和事务日志具有足够的磁盘空间来处理索引操作。在完成索引操作之前,无法截断tempdb事务日志。
3)使用数据库恢复模型,该模型允许最小记录索引操作。这样可以减小日志的大小,并防止日志填满日志空间。
4)不要在显式事务中运行在线索引操作。在显式事务结束之前,日志不会被截断。