0

数百のテーブルを持つ 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 の負荷が低く、今日ここで作業を完了するまでに他にやるべきことがたくさんあります。誰かがこれを行うための便利なスクリプトを既に持っていれば、私は永遠に感謝します :)

4

2 に答える 2

1

この手順が SQL 2000 で機能するかどうかはわかりませんが、正確な形式は得られませんが、途中でそこに到達する可能性があります。ピボットアウトして形式を取得できますか。

sys.sp_helprotect @Username = 'myUser'
于 2008-10-17T15:46:31.237 に答える
1
Select TABLE_NAME, PRIVILEGE_TYPE
from INFORMATION_SCHEMA.TABLE_PRIVILEGES 
where GRANTEE = @username

これは、SQL サーバー 2000/2005/2008 で動作します。

于 2008-10-17T23:45:05.140 に答える