SQL Master データベースエンジニアとセキュリティエンジニアとLinuxエンジニアのための情報

データベースロールとは?

SQL Serverでアカウントを束ねるコレクション構造をデータベースロールと言い、Windowsで言うとグループみたいなものです。データベースロールにユーザを追加する事で、一括してユーザの権限管理を行うことができます。

デフォルトでSQL Serverに準備されているデータベースロールを固定データベースロールと呼びます。以下のような固定データベースロールがあります。

Public
デフォルトで全てのデータベースユーザがPublicのメンバとして登録されている。Windowsで言うとデフォルトでUsersグループに登録されるのと同じようなもの。

db_owner
データベース内の全ての権限を保有

db_accessadmin
ユーザの追加・削除が可能

db_securityadmin
権限、オブジェクト所有権、データベースロール、ロールメンバシップの管理が可能

dbddladmin
全てのDDLの実行が可能だが、GRANT、REVOKE、DENYのステートメントは実行不可

db_backupoperator
DBCC、CHECKPOINT、BACKUPのステートメントが実行可能

db_datareader
データベース内の全てのユーザテーブルのデータを参照可能

db_datawriter
データベース内の全てのユーザテーブルに対して、データの追加・更新・削除が可能

db_denydatareader
全てのユーザテーブルのデータを参照できない

db_denydatawriter
全てのユーザテーブルへのデータ追加・更新・削除が不可