我在Server 2012中有一个查询。在联机索引重建操作期间,如果我运行一个SQL查询将数据读/写到某个特定的表“X”中,而该表可能正在进行重建操作,那么会发生什么情况呢?请建议一下。
发布于 2017-01-05 05:58:47
..。当一个用户正在重建聚集索引时,该用户和其他用户可以继续更新和查询基础数据。
参考文献:在线执行索引操作
这显然也适用于非聚集索引的联机重建。
网上索引操作指南
也是,在线索引重建要比离线索引重建慢得多,并且使用更多的事务日志空间。
在联机索引重建期间,构建阶段采用IS (意图共享)和S (共享)锁,以确保其他进程在重建索引时不会获取对象上的任何独占锁。在最后阶段,采用模式修改Sch-M锁。这个锁阻止了对表的所有其他并发访问,但是它只保留了一个很短的时间()--,而旧的索引被删除,元数据被更新。
IS
S
Sch-M
https://stackoverflow.com/questions/41477773
相似问题