Microsoft SQL Serverの所有スキーマとロールメンバーシップの違い


24

との間に違いはOwned SchemasありRole Membersますか?

私の理解では、これらRole Membersは必須です-ユーザーは、チェックボックスをRole Membersオンにする必要があります。

ただし、これOwned Schemasは必須ではありません。なぜそこにいる必要があるのか​​、本当に不思議に思うOwned Schemas

ここに画像の説明を入力してください

回答:


17

リンゴとオレンジ。役割は役割であり、スキーマはスキーマです。呼び出されるロールと呼び出されるdb_accessadminスキーマがあるという事実db_accessadminは、ロールがスキーマであることも、スキーマがロールであることも意味しません。ロールはセキュリティメンバーシップコンテナであり、プリンシパルはロールのメンバーです。スキーマにはデータベーススキーマバインドオブジェクトが含まれ、プリ​​ンシパルが所有しています。新しいユーザーを作成するときに、デフォルトのスキーマを選択し、特定のロールに追加して、スキーマの所有権を付与できます。アクションは別々ですが、このダイアログの設計者は、彼らが何らかの形で全てUX(不動産というメリットにと関連していると感じている疑問が、完全に別のトピック)。


行間を読んで、これらのスキーマを持つことのポイントは、たとえば、特定のオブジェクトをdb_datareaderロールスキーマを持つユーザーが書き込み可能にすることができると推測しているが、必ずしも他の人が読めるとは限らない。への読み取りアクセスのみをdbo必要とするが、いくつかのストアドプロシージャまたはトリガーをインストールする必要があるアプリではうまくいきます。もちろん、それでも各ユーザーをロールとスキーマの両方に手動で追加する必要があります。
jpaugh

-1

まあ..これは非常に古いスレッドですが、まだここを訪れる人のために私からまだ2セントです。このリンクは、上記のクエリに対するベストアンサーです。

https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/ownership-and-user-schema-separation-in-sql-server

同じからの抜粋:

SQL Serverには、組み込みのデータベースユーザーおよびロールと同じ名前を持つ10個の定義済みスキーマが付属しています。これらは主に下位互換性のために存在します。不要な場合は、固定データベースロールと同じ名前のスキーマを削除できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.