現象
Microsoft SQL Server 2012 または SQL Server 2014 で、dbo 以外のスキーマが含まれるテーブルに対して select 権限があることを前提としています。 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、 マグニチュード、 min_data_id、 max_data_id、および null_value は、ユーザーが select 権限を持っていない限り、 null 値を返します。
原因
この問題は、ビューのセキュリティチェックで dbo 以外のスキーマが考慮されていないことが原因で発生します。 したがって、dbo 以外のスキーマを持つテーブルに対する select 権限を持っている場合でも、ビューから 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 の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。