在线模式下,新索引在旧索引可供读写时进行构建。任何对旧索引的更新也会应用于新索引。反物质列用于跟踪更新和重建之间的可能冲突(例如,删除尚未复制的行)。请参见在线索引操作。完成该过程后,表会被锁定一小段时间,新索引将取代旧索引。如果索引包含LOB列,则不支持SQL Server 2005/2008/R2中的在线操作。 离线模式下,表被提前锁定以进行读写操作,然后从旧索引构建新索引,同时对表进行锁定。在重建索引时,不允许在表上执行读写操作。只有当操作完成后,才释放表上的锁,并允许再次进行读写操作。 注意,在SQL Server 2012中,解除了LOB的限制,请参见包含LOB列的索引的在线索引操作。
- Remus Rusanu
7
1如果索引包含LOB列,则SQL Server 2005/2008/R2不支持在线操作。问题是:重建操作会失败,还是仅降级为离线重建? - esac