SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

SQL Serverで権限を付与・取り消す方法(GRANT/REVOKEの使い方)

SQL Serverでは、データベース内のさまざまなオブジェクトに対して、GRANT文で権限を付与したり、REVOKE文で付与済みの権限を取り消したりできます。本記事では、テーブルを対象とした権限の付与と取り消しの方法を、基本構文と具体的な実行例とともにわかりやすく解説します。

テーブルに対する権限を付与する(GRANT)

テーブルに関するユーザーの権限は、GRANTコマンドで割り当てることができます。指定できる権限は、SELECT、INSERT、UPDATE、DELETE、REFERENCES、ALTER、ALLです。

構文

GRANT 権限 ON オブジェクト TO ユーザー;

権限
ユーザーに付与する権限を指定します。指定できる主な権限は次の通りです。

権限説明
SELECTテーブルに対してSELECT文を実行できる権限
INSERTテーブルに対してINSERT文を実行できる権限
UPDATEテーブルに対してUPDATE文を実行できる権限
DELETEテーブルに対してDELETE文を実行できる権限
REFERENCESそのテーブルを参照する制約を作成できる権限
ALTERALTER TABLE文を実行してテーブル定義を変更できる権限
ALL文字どおりすべての権限を意味するわけではなく、ANSI-92標準に基づく権限(SELECT、INSERT、UPDATE、DELETE、REFERENCES)を付与する

オブジェクト
権限を付与したいデータベースオブジェクトの名前です。テーブルに権限を付与する場合は、テーブル名を指定します。

ユーザー
権限を付与されるユーザー名です。

実行例

ユーザーsmithjに対して、テーブルnhanvien(従業員テーブル)へのSELECT、INSERT、UPDATE、DELETE権限をまとめて付与したい場合は、次のGRANTコマンドを実行します。

GRANT SELECT, INSERT, UPDATE, DELETE ON nhanvien TO smithj;

ALLキーワードを使えば、ANSI-92標準に基づくすべての権限をユーザーsmithjに一度に付与できます。

GRANT ALL ON nhanvien TO smithj;

すべてのユーザーにSELECT権限だけを付与したい場合は、全ユーザーを含むPUBLICグループに対して権限を与えます。

GRANT SELECT ON nhanvien TO PUBLIC;

テーブルに対する権限を取り消す(REVOKE)

いったん付与した権限は、REVOKEコマンドで取り消すことができます。取り消しの対象となるのは、SELECT、INSERT、UPDATE、DELETE、REFERENCES、ALTER、ALLの各権限です。

構文

REVOKE 権限 ON オブジェクト FROM ユーザー;

権限
取り消す権限を指定します。指定できる権限はGRANTの場合と同じで、次の通りです。

権限説明
SELECTテーブルに対してSELECT文を実行できる権限
INSERTテーブルに対してINSERT文を実行できる権限
UPDATEテーブルに対してUPDATE文を実行できる権限
DELETEテーブルに対してDELETE文を実行できる権限
REFERENCESそのテーブルを参照する制約を作成できる権限
ALTERALTER TABLE文を実行してテーブル定義を変更できる権限
ALLANSI-92標準に基づく権限(SELECT、INSERT、UPDATE、DELETE、REFERENCES)を一括して取り消す

オブジェクト
権限を取り消したいデータベースオブジェクトの名前です。テーブルの権限を取り消す場合は、テーブル名を指定します。

ユーザー
権限を取り消されるユーザー名です。

実行例

ユーザーandersonから、テーブルnhanvienに対するDELETE権限を取り消したい場合は、次のREVOKEコマンドを実行します。

REVOKE DELETE ON nhanvien FROM anderson;

テーブルnhanvienに対するANSI-92標準の権限を、ユーザーandersonからすべて取り消したい場合は、ALLキーワードを使用します。

REVOKE ALL ON nhanvien FROM anderson;

PUBLICグループ(全ユーザー)にテーブルnhanvienのSELECT権限を付与済みで、この権限を取り消したい場合は、次のコマンドを実行します。

REVOKE SELECT ON nhanvien FROM PUBLIC;

関連記事:MS SQL Serverでユーザーの権限を管理する方法もあわせてチェックしておきましょう。

  1. SQL ServerのPIVOT句とは?クロス集計で行を列に変換する方法を実例付きで解説

    SQL Server(Transact-SQL)では、PIVOT句を使用することで、クロス集計(ピボットテーブル)を作成できます。PIVOT句は、テーブル内の行データを列に変換し、集計結果を見やすい形式で表示するための強力な機能です。 下図は、合計値を計算し、行データを列に変換して表示する例です。 PIVOT句の基本構文 SELECT cot_dautien AS bidanh_cot_dautien, [giatri_chuyen1], [giatri_chuyen2], … [giatri_chuyen_n] FROM ( SELECT bang_nguon.cot1

  2. 【初心者向け】SSMSで学ぶSQL Serverのデータベース基本操作ガイド

    こんにちは!前回の記事では、SSMS(SQL Server Management Studio)を使ってSQL Serverをインストールし、接続を確立する方法をご紹介しました。 今回はその続きとして、SQL Server Management Studio(SSMS)の画面操作を通じて、SQL Serverにおけるデータベースの最も基本的な操作方法について詳しく解説していきます。それでは早速始めましょう! #1. 新しいデータベースを作成する 手順1:SQL Serverに接続する まず、SQL Server Management Studioを起動し、SQL Serverに接続します。