実際には少し注意が必要です。有効なアクセス許可は、内部データベースアクセス許可(上記のDennyのクエリがdozaによって示したようにクエリ可能)とWindowsグループメンバーシップの組み合わせです。残念ながら、後でSQLの外部のADスキーマに格納されるため、実際にクエリを実行することはできません。
したがって、「テーブルXへのアクセスはdomain\someuserとdomain\somegroupに与えられ、domain \ someothergroupに拒否されます」を表示することが目標である場合は、dozaの投稿に示されているように、カタログメタデータを使用してクエリを実行できます。
ただし、目標が「ユーザーdomain \ someuserはテーブルXにアクセスできますか?」と答えることである場合。上記のクエリから答えを得ることができません。そうです、domain \ someuserにアクセスが許可されているというレコードが表示されているにもかかわらず、有効なアクセス権があるかどうかは答えられません。単一の拒否がすべての許可よりも優先されることを忘れないでください。domain\userがdomain\someothergroupグループのメンバーである場合、domain\someuserは事実上アクセスを拒否されます。
後の質問に答えるには、別のメカニズムを使用する必要があります。つまり、SQLレベルでユーザーになりすまして、HAS_PERM_BY_NAMEを介して権限を確認する必要があります。
EXECUTE AS USER = 'domain\someuser';
SELECT HAS_PERMS_BY_NAME('X','TABLE','SELECT');
REVERT;
最初の質問には、セキュリティカタログの表示権限を持っている人なら誰でも答えることができますが、後者の質問には、はるかに強力な権限である偽装権限が必要です。