プリンシパル

プリンシパルは、SQL Server リソースを要求できるエンティティです。SQL Server の承認モデルの他のコンポーネントと同様に、プリンシパルは階層内に配置できます。プリンシパルの効力のスコープは、プリンシパルの定義のスコープ (Windows、サーバー、データベース) と、プリンシパルが分割できないアイテムであるかコレクションであるかによって異なります。分割できないプリンシパルの例には Windows ログインがあり、コレクションであるプリンシパルの例には Windows グループがあります。各プリンシパルには、1 つのセキュリティ識別子 (SID) があります。

Windows レベルのプリンシパル

  • Windows ドメイン ログイン
  • Windows ローカル ログイン

SQL Server レベルのプリンシパル

  • SQL Server ログイン

データベースレベルのプリンシパル

  • データベース ユーザー
  • データベース ロール
  • アプリケーション ロール

SQL Server sa ログイン

SQL Server sa ログインは、サーバーレベルのプリンシパルです。このログインは、インスタンスのインストール時に既定で作成されます。Microsoft SQL Server 2005 では、sa の既定のデータベースは master です。これは、以前のバージョンの Microsoft SQL Server の動作から変更されています。

public データベース ロール

データベース ユーザーはすべて、public データベース ロールに属しています。セキュリティ保護可能なリソースに対する特定の権限が与えられていないか権限が拒否されたユーザーは、public がそのリソースに対して許可されている権限を継承します。

INFORMATION_SCHEMA と sys

各データベースには、カタログ ビューにユーザーとして表示される 2 つのエンティティ INFORMATION_SCHEMA および sys が含まれています。SQL Server はこれらを必要とします。これらのエンティティはプリンシパルではなく、変更も削除もできません。

証明書ベースの SQL Server ログイン

名前が 2 つの番号記号 (##) で囲まれたサーバー プリンシパルは、内部システムでのみ使用されます。SQL Server のインストール時に証明書から作成される以下のプリンシパルは、削除しないでください。

##MS_SQLResourceSigningCertificate##
##MS_SQLReplicationSigningCertificate##
##MS_SQLAuthenticatorCertificate##
##MS_AgentSigningCertificate##

参照

関連項目

サーバー レベルのロール
データベース レベルのロール

概念

ID と SID

その他の技術情報

sys.database_principals (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.sql_logins (Transact-SQL)
sys.database_role_members (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手