Sql Server禁用索引语句在运行期间偶尔挂起

时间:2015-01-20 06:26:21

标签: sql-server indexing

在初始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吗?

1 个答案:

答案 0 :(得分:0)

我怀疑你被封锁了。下次发生这种情况时,请查看sys.dm_os_waiting_tasks视图,看看是什么阻止了禁用索引语句。