適用先
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 2 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2019 on Windows

現象

リモート サーバーとして使用される SQL Server でフィルター処理されたインデックスを持つテーブルで集計と結合 (COUNT WITH GROUP BY など) を使用してクエリを実行し、ユーザーに VIEW DEFINITION 権限を持たなかったとします。 このシナリオでは、リンク サーバーはフィルター処理されたインデックスを完全な一意インデックスと見なし、クエリは正しくない結果を返します。 

詳細情報

リモート クエリを実行すると、リンク サーバー プロセスはインデックス メタデータを使用してクエリを最適化します。 クエリを実行するデータベースに対する VIEW DEFINITION 権限を持たなかった場合、メタデータはインデックスがフィルター処理されたインデックスであることは示されません。クエリ オプティマイザはインデックスを完全な一意インデックスと見なします。 この修正プログラムは、クエリ オプティマイザで考慮する VIEW DEFINITION 権限を持たなかった場合に、フィルター処理されたインデックスのインデックス メタデータを修正します。

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

解決方法

この問題は、次の累積的な更新プログラムで修正SQL Server。

注:この修正プログラムは、リモート リンク サーバーに適用する必要があります。

製品の累積的な更新プログラムSQL Server。

各バージョンの新しい累積的SQL Serverには、すべての修正プログラムと、以前の累積的な更新プログラムに含まれているすべてのセキュリティ修正プログラムが含まれています。 最新の累積的な更新プログラムを確認SQL Server。

回避策

この問題を回避するには、次のいずれかの方法を試してください。

  • フィルター処理されたインデックスを削除します。

  • ビュー定義をユーザーに付与します。 例: ビュー定義を権限付与test_user。

関連情報

マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。