現象
Microsoft SQL Server 2012 または SQL Server 2014 で非 dbo スキーマを持つテーブルに対する選択アクセス許可があることを想定しています。 sys.column_store_segments ビューからクエリを実行すると、列 has_nulls、base_id、大きさ、min_data_id、max_data_id、null_value に NULL 値が表示されます。
注
sys.column_store_segments ビューでは、次の関数を使用してセキュリティチェックを実行します。
HAS_PERMS_BY_NAME ( securable , securable_class , permission [ , sub-securable ] [ , sub-securable_class ] )has_nulls、base_id、magnitude、min_data_id、max_data_id、null_value 列は、ユーザーに選択権限がない限り NULL 値を返します。
原因
この問題は、ビューのセキュリティ チェックで非 dbo スキーマが考慮されていないために発生します。 したがって、非 dbo スキーマを持つテーブルに対する選択アクセス許可がある場合でも、ビューからは NULL 値を受け取ります。
解決策
この問題は、次の SQL Server の累積的な更新プログラムで最初に修正されました。
SQL Server 2012 SP2 の累積的な更新プログラム 2 /en-us/help/2983175
SQL Server 2012 SP1 用の累積的な更新プログラム 12 /en-us/help/2991533
SQL Server 2014 用の累積的な更新プログラム 3 /en-us/help/2984923
SQL Server 用の累積的な更新プログラムについて
SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。
- SQL Server 2012 SP2 の最新の累積的な更新プログラム
- SQL Server 2012 SP1 の最新の累積的な更新プログラム
- SQL Server 2014 の最新の累積的な更新プログラム
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。