问题描述
使用sys.dm_db_index_physical_stats函数查询索引碎片时,出现“'(' 附近有语法错误。”的问题。
sql语句:
SELECT object_name(ips.object_id) AS TableName,ips.index_id, name AS IndexName, avg_fragmentation_in_percent,db_name(ips.database_id) AS DatabaseName
FROM sys.dm_db_index_physical_stats (Db_id(DB_NAME()), NULL, NULL, NULL, NULL) AS ips
INNER JOIN sys.indexes AS SI ON ips.object_id = SI.object_id AND ips.index_id = SI.index_id
WHERE ips.avg_fragmentation_in_percent > 5 AND SI.index_id <> 0
order by avg_fragmentation_in_percent desc
错误信息:
解决方案:
在对应数据库上右键->属性->选项->兼容性级别,把级别改成90或100