サーバー レベルのロール

SQL Server には、サーバーでの権限を簡単に管理できるように、いくつかのロールが用意されています。ロールは、セキュリティ プリンシパルとして他のプリンシパルをグループ化します。ロールは、Microsoft Windows オペレーティング システムのグループに似ています。

固定サーバー ロールは、利便性と下位互換性を目的に提供されています。可能な限り具体的なアクセス許可を割り当てるようにしてください。

サーバー レベルのロールには新しいロールを作成できないことから、固定サーバー ロールとも呼ばれます。サーバー レベルのロールは、その権限のスコープがサーバー全体に及びます。

サーバー レベルのロールには、SQL Server ログイン、Windows アカウント、および Windows グループを追加できます。固定サーバー ロールの各メンバーはそのロールに他のログインを追加することができます。

次の表に、サーバー レベルのロールとその機能を示します。

サーバー レベルのロール名

説明

sysadmin

sysadmin 固定サーバー ロールのメンバーは、サーバーの任意の動作を実行できます。

serveradmin

serveradmin 固定サーバー ロールのメンバーは、サーバー全体の構成オプションを変更したり、サーバーをシャットダウンしたりできます。

securityadmin

securityadmin 固定サーバー ロールのメンバーは、ログインとログインのプロパティを管理します。このメンバーは、サーバー レベルの権限を許可、拒否、および禁止できます。また、データベースにアクセスできる場合は、データベース レベルの権限も許可、拒否、および禁止できます。また、SQL Server ログインのパスワードをリセットできます。

セキュリティに関する注意セキュリティに関する注意
データベース エンジンへのアクセスを許可したりユーザー権限を構成したりできるという点で、securityadmin には、ほとんどのサーバー権限を割り当てる権限があります。securityadmin ロールは、sysadmin ロールに匹敵するものとして扱う必要があります。

processadmin

processadmin 固定サーバー ロールのメンバーは、SQL Server のインスタンス内で実行中のプロセスを終了できます。

setupadmin

setupadmin 固定サーバー ロールのメンバーは、リンク サーバーを追加および削除できます。

bulkadmin

bulkadmin 固定サーバー ロールのメンバーは、BULK INSERT ステートメントを実行できます。

diskadmin

diskadmin 固定サーバー ロールは、ディスク ファイルを管理するために使用します。

dbcreator

dbcreator 固定サーバー ロールのメンバーは、任意のデータベースを作成、変更、削除、および復元できます。

public

すべての SQL Server ログインは、public サーバー ロールに属しています。サーバー プリンシパルにセキュリティ保護可能なオブジェクトに対する特定の権限が与えられていないか権限が拒否されている場合、そのユーザーは、そのオブジェクトに対して public に付与されている権限を継承します。 すべてのユーザーがオブジェクトを使用できるようにする場合は、対象のオブジェクトに public 権限のみを割り当てます。

サーバー レベルのロールの権限の詳細については、「固定サーバー ロールの権限 (データベース エンジン)」を参照してください。

サーバー レベルのロールの操作

次の表では、サーバー レベルのロールを操作するためのコマンド、ビュー、および関数について説明します。

機能

種類

説明

sp_helpsrvrole (Transact-SQL)

メタデータ

サーバー レベルのロールの一覧を返します。

sp_helpsrvrolemember (Transact-SQL)

メタデータ

サーバー レベルのロールのメンバーに関する情報を返します。

sp_srvrolepermission (Transact-SQL)

メタデータ

サーバー レベルのロールの権限を表示します。

IS_SRVROLEMEMBER (Transact-SQL)

メタデータ

SQL Server ログインが、指定されたサーバー レベルのロールのメンバーであるかどうかを示します。

sys.server_role_members (Transact-SQL)

メタデータ

各サーバー レベルのロールのメンバーごとに 1 行のデータを返します。

sp_addsrvrolemember (Transact-SQL)

コマンド

ログインをサーバー レベルのロールのメンバーとして追加します。

sp_dropsrvrolemember (Transact-SQL)

コマンド

サーバー レベルのロールから、SQL Server ログインや、Windows ユーザーまたはグループを削除します。