現象
リモート サーバーとして使用される SQL Server でフィルター処理されたインデックスを持つテーブルで集計と結合 (COUNT WITH GROUP BY など) を使用してクエリを実行し、ユーザーに VIEW DEFINITION 権限を持たなかったとします。 このシナリオでは、リンク サーバーはフィルター処理されたインデックスを完全な一意インデックスと見なし、クエリは正しくない結果を返します。
詳細情報
リモート クエリを実行すると、リンク サーバー プロセスはインデックス メタデータを使用してクエリを最適化します。 クエリを実行するデータベースに対する VIEW DEFINITION 権限を持たなかった場合、メタデータはインデックスがフィルター処理されたインデックスであることは示されません。クエリ オプティマイザはインデックスを完全な一意インデックスと見なします。 この修正プログラムは、クエリ オプティマイザで考慮する VIEW DEFINITION 権限を持たなかった場合に、フィルター処理されたインデックスのインデックス メタデータを修正します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
解決方法
この問題は、次の累積的な更新プログラムで修正SQL Server。
注:この修正プログラムは、リモート リンク サーバーに適用する必要があります。
製品の累積的な更新プログラムSQL Server。
各バージョンの新しい累積的SQL Serverには、すべての修正プログラムと、以前の累積的な更新プログラムに含まれているすべてのセキュリティ修正プログラムが含まれています。 最新の累積的な更新プログラムを確認SQL Server。
回避策
この問題を回避するには、次のいずれかの方法を試してください。
-
フィルター処理されたインデックスを削除します。
-
ビュー定義をユーザーに付与します。 例: ビュー定義を権限付与test_user。
関連情報
マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。