sql >> データベース >  >> RDS >> Sqlserver

インデックスの断片化をチェックするときの '(' 付近の構文が正しくありません

    お使いのデータベースはおそらく互換性レベル 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;
      

    1. Mysqlは制限付きですべての行を取得します

    2. T-SQL を使用して Sql Server 2008 上のすべての SSIS パッケージを一覧表示する方法

    3. .net Framework4.0のgeographysqlserverデータ型に相当するC#とは何ですか?

    4. RuntimeError:アプリケーションコンテキスト外での作業