索引在线重建

时间:2017-01-05 05:20:13

标签: database sql-server-2012

我在SQL Server 2012中有一个查询。在联机索引重建操作期间,如果我运行SQL查询来读取/写入特定表'X'的数据会发生什么情况,这可能正在进行重建操作?请建议。

1 个答案:

答案 0 :(得分:1)

  

...当一个用户(该用户)正在重建聚集索引时   和其他人可以继续更新和查询基础数据。

参考Perform Index Operations Online

这显然也适用于非聚集索引的在线重建。

Guidelines for Online Index Operations

,在线索引重建比离线索引重建慢得多,并且使用更多的事务日志空间。

在线索引重建期间,构建阶段需要 IS (意图共享)和 S (共享)锁定以确保其他在重建索引时,进程不会获取对象上的任何排它锁。在最后阶段,将采用架构修改 Sch-M 锁定。此锁定会阻止对表的所有其他并发访问,但仅在 非常短的时间 时保留,同时删除旧索引并更新元数据。