在初始ETL加载(SSIS)期间,我运行一个存储过程来禁用数据库上的所有非聚簇索引。
数据加载后我重建它们。
脚本的一部分:
ALTER INDEX [IX_GR_F0901D] ON [dbo].[GR_F0901D] DISABLE;
ALTER INDEX [IX_UA_F0901_FACT] ON [dbo].[UA_F0901] DISABLE;
ALTER INDEX [IX_UA_F0901D] ON [dbo].[UA_F0901D] DISABLE;
ALTER INDEX [IX_Gr_F42119] ON [dbo].[GR_F42119] DISABLE;
每周2-3次这个过程无限期地运行,我无法找到原因。
今天我重新启动了sql server并再次运行并成功完成。
可能出现什么问题?
我应该使用drop / create而不是disable / rebuild吗?
答案 0 :(得分:0)
我怀疑你被封锁了。下次发生这种情况时,请查看sys.dm_os_waiting_tasks视图,看看是什么阻止了禁用索引语句。