ロールdb_ownerで許可されること


14

SQL Server 2012データベースの特定のテーブルを表示できないログインのトラブルシューティングを試みました。そうすることで、私はそのdb_owner役割のメンバーシップが許可するものをよく理解していないことがわかります。などの他の役割を理解db_datareader and db_datawriterすることdb_ownerはできますが、何が許可されるかについては混乱したままです。

回答:


14

データベースレベルのロールのBOLに関するリファレンスを参照してください。

db_owner

db_owner固定データベースロールのメンバーは、データベースですべての構成およびメンテナンスアクティビティを実行でき、データベースを削除することもできます

すべての権限を確認する最も簡単な方法は、sys.fn_my_permissions()関数を使用することです。まず、次のメンバーであることを確認しますdb_owner

select
    rol.name
from sys.database_principals mem
inner join sys.database_role_members drm
on drm.member_principal_id = mem.principal_id
inner join sys.database_principals rol
on drm.role_principal_id = rol.principal_id
where mem.principal_id = user_id();

ここで、すべての有効なデータベース許可をリストします。

select *
from sys.fn_my_permissions(null, 'database');

それはあなたの目的に十分な粒度でなければなりません。注意すべき点sys.fn_my_permissions()は、有効なアクセス許可を返すため、それを集約と考えてください。


それは、db_ownerメンバーシップを持つユーザーがデフォルトでdb_readerandと同じ権限を持っているということでしょうdb_writerか?
webworm

4
メンバーdb_owner固定データベースロールを持つことになりますSELECTINSERTUPDATE、およびDELETEデータベースに対する権限。他の多くの権限の中でも、はい、それは正しいです。
トーマスストリンガー14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.