SQL Serverの権限について


8

SQL Server Management Studioで、SQL Server 2008 R2 Express Editionのインスタンスを応援しています。アクセス許可のしくみを理解しようとしています。

私が見ることができるのは(これらのエンティティの多くのプロパティを介して)

  1. サーバーログインをデータベースユーザーにリンクできます
  2. データベースユーザーは1つ以上のデータベースロールを持つことができます
  3. データベースロールの1つは、スキーマdb_datawriterを所有するdb_datawriterです。

しかし、その時点でトレイルは寒くなります。スキーマdb_datawriterのプロパティの下には、空白の権限ページがあります。

スキーマdb_datawriterの権限を正確に定義するものは何ですか?

回答:


7

db_datawriterには明示的なオブジェクト権限がないため、権限ページにアイテムはありません。権利は役割によって暗示されます。

MSDNのdb_datawriterは言う

db_datawriter固定データベースロールのメンバーは、すべてのユーザーテーブルのデータを追加、削除、または変更できます。

別のMSDBページに従って、テーブルに対してINSERT、UPDATE、DELETEを実行します。固定データベースロールの権限

許可:DELETE、INSERT、UPDATE

最後に、DBエンジンは何と言いますか(SQL Server 2008 R2)?

EXEC sp_dbfixedrolepermission 'db_datawriter'

db_datawriter   DELETE permission on any object
db_datawriter   INSERT permission on any object
db_datawriter   UPDATE permission on any object

SQL Server 2008のMSDNページはこちらです(異なるページ階層)


OPが求めているのは、固定されたdbの役割ではなく、スキーマの権限に関することだと思います。誤解しない限り?
トーマス・ストリンガー

@ Surfer513:スキーマはロールのプレースホルダーであり、権限はありません
gbn

ああ、わかりました。誤解を解消してくれてありがとう!
トーマス・ストリンガー

私は実際に、db_datawriterがビューを介して書き込む権限をあなたに与えたかどうかを調べようとしていました。答えは、基礎となるテーブルに対する権限があれば(そして、1つのテーブルにのみ挿入するという他の条件を満たしていれば)できると思います。私の書き込みの失敗は、ID列の再シードの問題であることが判明し、基になるテーブルでも失敗しました
akc42
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.