データベースユーザーのデータベーステーブルに付与された権限のテーブルを生成するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/212681

  •  03-07-2019
  •  | 
  •  

質問

約数百のテーブルを持つSQL Server 2000データベースがあります。このデータベースにアクセスできるいくつかのSQLユーザーアカウントがありますが、各アカウントにはDBのテーブルに対して異なるアクセス許可が付与されています。

特定のユーザーに付与された権限のレポートを提供するスクリプトを作成するにはどうすればよいですか。つまり、次のようなものを生成します:

Table      SELECT   DELETE   UPDATE    INSERT    ALTER
-----      ------   ------   ------    ------    -----
Invoices   Yes      No       Yes       Yes       No
Orders     Yes      Yes      Yes       Yes       No
Customers  Yes      No       Yes       Yes       No

など。金曜日です。今日のSQL-fuは低く、今日ここで終わる前に他にやることがたくさんあります。もし誰かがこれを行う便利なスクリプトを持っているなら、私は永遠に感謝します:)

役に立ちましたか?

解決

Select TABLE_NAME, PRIVILEGE_TYPE
from INFORMATION_SCHEMA.TABLE_PRIVILEGES 
where GRANTEE = @username

これはSQL Server 2000/2005/2008で動作します

他のヒント

この手順がSQL 2000で機能するかどうかはわかりません。正確な形式を取得できませんが、そこにある方法の一部を取得する可能性があります。 p>

sys.sp_helprotect @Username = 'myUser'
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top