サーバー レベルのロール
SQL Server は、サーバー上の権利を管理するためのサーバー レベルのロールを提供します。これらのロールは、他のプリンシパルをグループ化するセキュリティ プリンシパルです。 サーバー レベルのロールは、その権限のスコープがサーバー全体に及びます (ロールは、Windows オペレーティング システムのグループに似ています)。
固定サーバー ロールは、旧バージョンとの互換性を維持するために便宜的に提供されています。 可能な限り、より詳細な権限を割り当ててください。
SQL Server は、9 つの固定サーバー ロールを提供します。 固定サーバー ロールに許可される権限は変更できません。 SQL Server 2012 以降では、ユーザー定義のサーバー ロールを作成し、そのユーザー定義のサーバー ロールにサーバー レベルの権限を追加できます。
サーバー レベルのロールには、サーバー レベルのプリンシパル (SQL Server ログイン、Windows アカウント、および Windows グループ) を追加できます。 固定サーバー ロールの各メンバーは、そのロールに他のログインを追加することができます。 ユーザー定義のサーバー ロールのメンバーは、そのロールに他のサーバー プリンシパルを追加できません。
固定サーバー レベル ロール
次の表に、固定サーバー レベル ロールとその機能を示します。
固定サーバー レベル ロール |
説明 |
||
---|---|---|---|
sysadmin |
sysadmin 固定サーバー ロールのメンバーは、サーバーの任意の動作を実行できます。 |
||
serveradmin |
serveradmin 固定サーバー ロールのメンバーは、サーバー全体の構成オプションを変更したり、サーバーをシャットダウンしたりできます。 |
||
securityadmin |
securityadmin 固定サーバー ロールのメンバーは、ログインとログインのプロパティを管理します。 このメンバーは、サーバー レベルの権限を許可、拒否、および禁止できます。 また、データベースにアクセスできる場合は、データベース レベルの権限も許可、拒否、および禁止できます。 また、SQL Server ログインのパスワードをリセットできます。
|
||
processadmin |
processadmin 固定サーバー ロールのメンバーは、SQL Server のインスタンス内で実行中のプロセスを終了できます。 |
||
setupadmin |
setupadmin固定サーバー ロールのメンバーは、Transact-SQL ステートメントを使用して、リンク サーバーを追加および削除できます。 (sysadmin メンバーシップは、Management Studio を使用するときに必要になります)。 |
||
bulkadmin |
bulkadmin 固定サーバー ロールのメンバーは、BULK INSERT ステートメントを実行できます。 |
||
diskadmin |
diskadmin 固定サーバー ロールは、ディスク ファイルを管理するために使用します。 |
||
dbcreator |
dbcreator 固定サーバー ロールのメンバーは、任意のデータベースを作成、変更、削除、および復元できます。 |
||
public |
すべての SQL Server ログインは、public サーバー ロールに属しています。 サーバー プリンシパルにセキュリティ保護可能なオブジェクトに対する特定の権限が与えられていないか権限が拒否されている場合、そのユーザーは、そのオブジェクトに対して public に付与されている権限を継承します。すべてのユーザーがオブジェクトを使用できるようにする場合は、対象のオブジェクトに public 権限のみを割り当てます。 public のメンバーシップを変更することはできません。
|
サーバーレベルの権限
ユーザー定義のサーバー ロールに追加できるのは、サーバー レベルの権限のみです。 サーバー レベルの権限の一覧を表示するには、次のステートメントを実行します。
SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;
権限の詳細については、「権限 (データベース エンジン)」および「sys.fn_builtin_permissions (Transact-SQL)」を参照してください。
サーバー レベルのロールの操作
次の表では、サーバー レベルのロールを操作するためのコマンド、ビュー、および関数について説明します。
機能 |
型 |
説明 |
---|---|---|
メタデータ |
サーバー レベルのロールの一覧を返します。 |
|
メタデータ |
サーバー レベルのロールのメンバーに関する情報を返します。 |
|
メタデータ |
サーバー レベルのロールの権限を表示します。 |
|
メタデータ |
SQL Server ログインが、指定されたサーバー レベルのロールのメンバーであるかどうかを示します。 |
|
メタデータ |
各サーバー レベルのロールのメンバーごとに 1 行のデータを返します。 |
|
コマンド |
ログインをサーバー レベルのロールのメンバーとして追加します。 非推奨。 代わりに ALTER SERVER ROLE を使用してください。 |
|
コマンド |
サーバー レベルのロールから、SQL Server ログインや、Windows ユーザーまたはグループを削除します。 非推奨。 代わりに ALTER SERVER ROLE を使用してください。 |
|
コマンド |
ユーザー定義サーバー ロールを作成します。 |
|
コマンド |
サーバー ロールのメンバーシップを変更、またはユーザー定義のサーバー ロールの名前を変更します。 |
|
コマンド |
ユーザー定義サーバー ロールを削除します。 |
|
関数 |
サーバー ロールのメンバーシップを決定します。 |
関連項目
参照
セキュリティ カタログ ビュー (Transact-SQL)
GRANT (サーバー プリンシパルの権限の許可) (Transact-SQL)
REVOKE (サーバー プリンシパルの権限の取り消し) (Transact-SQL)
DENY (サーバー プリンシパルの権限の拒否) (Transact-SQL)