2012-02-01 11 views
1

すべてのデータベースユーザーのレポートを表示し、それぞれのdbオブジェクトに対してどのようなアクセス権があるかを確認したいと考えています。私はセキュリティ上の問題であり、問​​題の一部は、ユーザーがプロダクションで作成されたものを見ることさえできないということです。ユーザーの権利レポート

私が理解しているように、権限はdb obejctレベルで設定できます。これらの権限は、アクセスロールへのメンバーシップによって上書きされたり、拒否ロールへのメンバーシップによって取り除かれたりする可能性があります。

すべてのテーブル、SP、ビューなどのレポートを作成するユーティリティは誰でも知っていますか、どのユーザーがどのテーブルにアクセスできるかをリストしていますので、 A? "あるいは、あまり壮大ではないと思うのですが、そのユーティリティが管理者権限を持つ誰かによって実行されているという条件で、そのオブジェクト名の質問に答えることができるようなクエリがありますか?

答えて

0

このクエリは、データベース内のユーザー権限を示しています

SELECT 
    (SELECT name FROM sysusers WHERE uid=tblPermissions.grantee_principal_id) as UserName, 
    permission_name, 
    state_desc, 
    (SELECT name FROM sysobjects WHERE id=tblPermissions.major_id) 
FROM sys.database_permissions AS tblPermissions WHERE major_id >=0