我听说过您无法对具有 varchar(max) 类型的表执行联机聚集索引重建。对于包含 varchar(max) 类型的非聚集索引,这(正如我所读到的)也应该是正确的。http://msdn.microsoft.com/en-us/library/ms190981.aspx。但是,在证明这一点时(在 SQL2012 和 SQL2014 的两个版本中),我在在线重建这些索引时不会遇到错误。这是文档中的错误吗?
附带说明一下,2008R2 上的在线重建失败。
测试脚本包含在下面...
CREATE TABLE BIGMAX ( X INT IDENTITY(1,1), Y VARCHAR(MAX), FILLER BIT DEFAULT 1, FILLER2 BIT DEFAULT 1);
INSERT INTO BIGMAX ( Y ) SELECT top 1000 replicate('1',10000) from sys.all_columns c , sys.all_columns c2
CREATE CLUSTERED INDEX [CIDX_BIGMAX] ON BIGMAX(X) WITH (ONLINE = ON);
CREATE NONCLUSTERED INDEX [NIDX_BIGMAX_FILLER] ON BIGMAX(FILLER) WITH (ONLINE = ON);
CREATE NONCLUSTERED INDEX [NIDX_BIGMAX_FILLER2] ON BIGMAX(FILLER) INCLUDE (Y) WITH (ONLINE = ON);
ALTER …Run Code Online (Sandbox Code Playgroud)