役割のためにdb_denycustomer、私がしたいだけで、顧客テーブルの列コードを選択し、他の人のどれもします。だから私はこれをしました:
DENY SELECT ON dbo.customer TO db_denycustomer
GRANT SELECT ON dbo.customer (code) TO db_denycustomer
...そしてそれはうまくいきます。涼しい!しかし、なぜですか?
私が関連記事で読んだのは、その許可スタックですが、DENY優先されます。対照的に、私の場合、最後の権限「クエリ」が優先されたようです。案の定、逆の順序で実行すると、後者DENYもコード列を非表示にします。
これについて詳しく説明してもらえますか?
テストしたユーザーのデフォルトdb_datawriterとdb_datareaderロールも含めました。