お使いのデータベースはおそらく互換性レベル 80 (SQL Server 2000) に設定されており、DB_ID および OBJECT_ID 関数は動的管理関数のパラメーターとして使用できません。
互換性レベルを新しいものに変更するか、クエリの前に変数を使用する必要があります:
USE StockSystem; GO DECLARE @database_id INT = DB_ID(), @object_id INT = OBJECT_ID(N'dbo.StockItems'); SELECT a.index_id, name, avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats (@database_id ,@object_id , NULL, NULL, NULL) AS a JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id;
プレ>