0

重複の可能性:
SQLServerでのユーザーとログインの違い

目的のデータベースへのアクセス許可を持つデータベースログインを作成するだけで十分ですか?または、このログイン用のデータベースユーザーを作成する必要がありますか?

4

1 に答える 1

2

ログインは、SQLServerインスタンス全体のログインアカウントです。インスタンスには多数のデータベースを含めることができます。

ユーザーはデータベースレベルで定義され、ログインに関連付けられてインタラクティブなアクセスを提供します(特権を提供します)

ログインはサーバー側(インスタンスレベル)のオブジェクトです。それらの正しい名前は「サーバープリンシパル」です(sys.server_principalsを参照)。データベースの作成やサーバー状態の表示権限など、サーバー全体の権限がログインに付与されます。

ユーザーはデータベースオブジェクトであり、正しく「データベースプリンシパル」と呼ばれます(sys.database_principalsを参照)。これらは、テーブルの作成や選択などのデータベース権限の受信者です。

通常、ログインは、一致するSIDを介して各データベースのユーザーに1対1でマップされますが、sysadmin固定サーバーロールのすべてのメンバーが常にdboにマップされるなど、いくつかの例外があります。

ログインしていないユーザーは、Service BrokerのリモートID(リモートサービスバインディングを参照)およびコード署名のための特定の構成要素です。他のコンテキストで作成する必要はありません。作成する場合は、間違って作成している可能性があります。ログインしていないユーザーは、なりすましを意図したものではありません。

于 2012-06-12T04:35:57.587 に答える