相关疑难解决方法(0)

以编程方式查找无法在线重建的索引

我正在使用 T-SQL 自动重建和重新组织索引。我遇到了无法在线重建的索引问题。发生这种情况主要是因为包含 ntext/nvarchar 列。

有没有办法以编程方式将它们标识为该语句的一部分?对 WHERE 谓词的补充

SELECT 
--TOP 20
OBJECT_NAME(IPS.OBJECT_ID) AS [TableName], avg_fragmentation_in_percent, SI.name         [IndexName],  
schema_name(ST.schema_id) AS [SchemaName], 0 AS IsProcessed 
INTO #FramentedTableList 
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL , NULL) IPS 
JOIN sys.tables ST WITH (nolock) ON IPS.OBJECT_ID = ST.OBJECT_ID 
JOIN sys.indexes SI WITH (nolock) ON IPS.OBJECT_ID = SI.OBJECT_ID AND IPS.index_id =   SI.index_id 
WHERE ST.is_ms_shipped = 0 AND SI.name IS NOT NULL 
AND avg_fragmentation_in_percent >= CONVERT(DECIMAL,   @FragmentationThresholdForReorganizeTableLowerLimit) 
ORDER BY avg_fragmentation_in_percent DESC 
Run Code Online (Sandbox Code Playgroud)

index sql-server t-sql

5
推荐指数
1
解决办法
2413
查看次数

标签 统计

index ×1

sql-server ×1

t-sql ×1