小编Aar*_*son的帖子

无法重建索引,但没有理由不?

我创建了一个过程,我只能重建需要重建的索引(如果我重建它们,这个过程需要一个半小时),虽然它运行良好,但它卡在一个特定的索引上,我看不到我应该这样做的原因。

它失败并显示以下消息:

消息 2725,级别 16,状态 2,第 1 行

无法对索引“I_520CUSTVENDRELIDX”执行联机操作,因为该索引包含数据类型为 text、ntext、image、varchar(max)、nvarchar(max)、varbinary(max)、xml 或 large CLR 类型的列“MEMO”。对于非聚集索引,该列可以是索引的包含列。对于聚集索引,该列可以是表的任何列。如果使用 DROP_EXISTING,则该列可能是新索引或旧索引的一部分。该操作必须离线执行。

但是,当我根据这个 chap的建议运行查询时,如下所示,我没有得到任何结果:

SELECT *
FROM sys.index_columns AS ic
INNER JOIN sys.columns AS c
ON ic.object_id = c.object_id
AND ic.column_id = c.column_id
AND ((c.system_type_id IN (34,35,99,241)) -- image, text, ntext, xml
 OR (c.system_type_id IN (167,231,165) -- varchar, nvarchar, varbinary
     AND max_length = -1))
INNER JOIN sys.indexes as si
on si.object_id = ic.object_id
AND ic.index_id = si.index_id
inner join sys.tables t
on t.object_id = ic.object_id …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 clustered-index t-sql

6
推荐指数
1
解决办法
6640
查看次数

标签 统计

clustered-index ×1

sql-server-2008 ×1

t-sql ×1