次の方法で共有


sys.fn_builtin_permissions(Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric の SQL データベース

サーバーの組み込みアクセス許可階層の説明を返します。 sys.fn_builtin_permissions は SQL Server と Azure SQL Database でのみ呼び出すことができます。現在のプラットフォームでサポートされているかどうかに関係なく、すべてのアクセス許可が返されます。 ほとんどの権限はすべてのプラットフォームに適用されますがが、一部は適用されません。 たとえば、SQL Database ではサーバー レベルのアクセス許可を付与できません。 各アクセス許可をサポートするプラットフォームについては、「Permissions (データベース エンジン)を参照してください。

Transact-SQL 構文表記規則

Syntax

sys.fn_builtin_permissions ( [ DEFAULT | NULL ]
    | empty_string | '<securable_class>' } )
  
<securable_class> ::=
      APPLICATION ROLE | ASSEMBLY | ASYMMETRIC KEY | AVAILABILITY GROUP
    | CERTIFICATE | CONTRACT | DATABASE | DATABASE SCOPED CREDENTIAL
    | ENDPOINT | FULLTEXT CATALOG | FULLTEXT STOPLIST | LOGIN
    | MESSAGE TYPE | OBJECT | REMOTE SERVICE BINDING | ROLE | ROUTE
    | SCHEMA | SEARCH PROPERTY LIST | SERVER | SERVER ROLE | SERVICE
    | SYMMETRIC KEY | TYPE | USER | XML SCHEMA COLLECTION

Arguments

[ DEFAULT |NULL ]

DEFAULT オプション (引用符なし) を使用して呼び出されると、関数は組み込みのアクセス許可の完全な一覧を返します。

NULL は DEFAULT と同じです。

empty_string

DEFAULT と同じです。

「<securable_class>」

1 つのセキュリティ保護可能なクラスの名前で呼び出されると、 sys.fn_builtin_permissions はクラスに適用されるすべてのアクセス許可を返します。 '<securable_class>' は、引用符を必要とする nvarchar(60) 型の文字列リテラルです。

返されるテーブル

列名 データの種類 Collation Description
class_desc nvarchar(60) サーバーの照合順序 セキュリティ保護可能なクラスの説明。
permission_name nvarchar(60) サーバーの照合順序 許可名。
varchar(4) サーバーの照合順序 コンパクトなアクセス許可の種類のコード。 次の表を参照してください。
covering_permission_name nvarchar(60) サーバーの照合順序 NULL でない場合、これは、このクラスに対する他のアクセス許可を意味するこのクラスのアクセス許可の名前です。
parent_class_desc nvarchar(60) サーバーの照合順序 NULL でない場合、現在のクラスを含む親クラスの名前。
parent_covering_permission_name nvarchar(60) サーバーの照合順序 NULL でない場合、親クラスの権限で、そのクラスの他の権限をすべて含む権限の名前。

アクセス許可の種類

アクセス許可の種類 権限名 セキュリティ保護可能なリソースまたはクラスに適用されます
AADS ALTER ANY DATABASE イベント セッション

適用対象: SQL Server 2014 (12.x) 以降のバージョン
DATABASE
AAES 任意のイベントセッションを変更する SERVER
AAMK 任意のマスクを変更します。

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
ADBO 一括操作の管理 SERVER
AEDS すべての外部データ ソースを変更します。

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
AEFF 任意の外部のファイル形式を変更します。

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
AL ALTER アプリケーション ロール
AL ALTER ASSEMBLY
AL ALTER

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
可用性グループ (Availability Group)
AL ALTER 非対称キー
AL ALTER CERTIFICATE
AL ALTER CONTRACT
AL ALTER DATABASE
AL ALTER

適用対象: SQL Server 2017 (14.x) 以降のバージョン、および Azure SQL Database。
データベース スコープ付き認証情報
AL ALTER ENDPOINT
AL ALTER FULLTEXT カタログ
AL ALTER 全文テキスト・ストップリスト
AL ALTER LOGIN
AL ALTER メッセージの種類
AL ALTER OBJECT
AL ALTER リモート サービス バインド
AL ALTER ROLE
AL ALTER ROUTE
AL ALTER SCHEMA
AL ALTER 物件リストを検索
AL ALTER

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
サーバーロール
AL ALTER SERVICE
AL ALTER 対称キー
AL ALTER USER
AL ALTER XML スキーマ コレクション
ALAA サーバー監査の変更許可 SERVER
ALAG すべての可用性グループを変更

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER
ALAK 非対称キーを変更する DATABASE
ALAR 任意のアプリケーション ロールを変更する DATABASE
ALAS 任意のアセンブリを変更 DATABASE
ALCD 任意の資格情報を変更する SERVER
ALCF 任意の証明書を変更する DATABASE
ALCK 任意の列暗号化キーを変更する

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
ALCM 任意のカラムマスターキーを変更する

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
ALCO 任意の接続を変更する SERVER
ALDA 任意のデータベース監査の変更 DATABASE
ALDB 任意のデータベースを変更する SERVER
ALDC いずれのデータベース スコープ設定も変更する

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
ALDS 任意のデータスペースを変更する DATABASE
ALED 任意のデータベースイベント通知を変更する DATABASE
ALES 任意のイベント通知を変更する SERVER
ALFT 任意のフルテキストカタログを変更 DATABASE
ALHE 任意のエンドポイントを変更する SERVER
ALLG 任意のログインを変更する SERVER
ALLS 任意のリンク サーバーを変更する SERVER
ALMT 任意のメッセージ型を変更する DATABASE
ALRL あらゆるロールを変更する DATABASE
ALRS ALTER RESOURCES SERVER
ALRT 任意のルートを変更 DATABASE
ALSB 任意のリモートサービスバインディングを変更する DATABASE
ALSC 任意の契約を変更する DATABASE
ALSK 対称鍵の変更可能 DATABASE
ALSM 任意のスキーマを変更する DATABASE
ALSP すべてのセキュリティ ポリシーを変更します。

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
ALSR 任意のサーバー ロールを変更する

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER
ALSS サーバーの状態を変更 SERVER
ALST ALTER SETTINGS SERVER
ALSV 任意のサービスを変更する DATABASE
ALTG ALTER ANY DATABASE DDL トリガー DATABASE
ALTR ALTER TRACE SERVER
ALUS 任意のユーザーを変更する DATABASE
AUTH AUTHENTICATE DATABASE
AUTH サーバーの認証 SERVER
BADB データベースをバックアップ DATABASE
BALO バックアップ ログ DATABASE
CADB 任意のデータベースを接続する

適用対象: SQL Server 2014 (12.x) 以降のバージョン。
SERVER
CL CONTROL アプリケーション ロール
CL CONTROL ASSEMBLY
CL CONTROL 非対称キー
CL CONTROL

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
可用性グループ (Availability Group)
CL CONTROL CERTIFICATE
CL CONTROL CONTRACT
CL CONTROL DATABASE
CL CONTROL

適用対象: SQL Server 2017 (14.x) 以降のバージョン、および Azure SQL Database。
データベース スコープ付き認証情報
CL CONTROL ENDPOINT
CL CONTROL FULLTEXT カタログ
CL CONTROL 全文テキスト・ストップリスト
CL CONTROL LOGIN
CL CONTROL メッセージの種類
CL CONTROL OBJECT
CL CONTROL リモート サービス バインド
CL CONTROL ROLE
CL CONTROL ROUTE
CL CONTROL SCHEMA
CL CONTROL 物件リストを検索
CL CONTROL SERVER SERVER
CL CONTROL

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
サーバーロール
CL CONTROL SERVICE
CL CONTROL 対称キー
CL CONTROL TYPE
CL CONTROL USER
CL CONTROL XML スキーマ コレクション
CO CONNECT DATABASE
CO CONNECT ENDPOINT
CORP コネクト・レプリケーション DATABASE
COSQ CONNECT SQL SERVER
CP CHECKPOINT DATABASE
CRAC 可用性グループの作成

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER
CRAG 集計関数を作成する DATABASE
CRAK 非対称キーを作成する DATABASE
CRAS アセンブリを作成 DATABASE
CRCF 証明書の作成 DATABASE
CRDB 任意のデータベースを作成する SERVER
CRDB データベースを作成 DATABASE
CRDE CREATE DDL イベント通知 SERVER
CRDF デフォルトを作成する DATABASE
CRED データベースDDLイベント通知の作成 DATABASE
CRFN CREATE 関数 DATABASE
CRFT フルテキスト カタログの作成 DATABASE
CRHE CREATE ENDPOINT SERVER
CRMT メッセージの種類を作成する DATABASE
CRPR プロシージャを作成 DATABASE
CRQU キューを作成 DATABASE
CRRL 役割を作成 DATABASE
CRRT ルートを作成 DATABASE
CRRU ルールを作成 DATABASE
CRSB リモート サービス バインディングを作成する DATABASE
CRSC 契約を作成 DATABASE
CRSK 対称キーの作成 DATABASE
CRSM スキーマを作成 (CREATE SCHEMA) DATABASE
CRSN シノニムの作成 DATABASE
CRSO シーケンスを作成 SCHEMA
CRSR CREATE SERVER ROLE(サーバーロールを作成)

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER
CRSV サービスを作成 DATABASE
CRTB CREATE TABLE DATABASE
CRTE トレース イベント通知の作成 SERVER
CRTY タイプの作成 DATABASE
CRVW ビューを作成 DATABASE
CRXS XML スキーマ コレクションの作成 DATABASE
DABO データベースの一括操作の管理

適用対象: SQL Database。
DATABASE
DL DELETE DATABASE
DL DELETE OBJECT
DL DELETE SCHEMA
EAES 外部スクリプトを実行する

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
EX EXECUTE DATABASE
EX EXECUTE OBJECT
EX EXECUTE SCHEMA
EX EXECUTE TYPE
EX EXECUTE XML スキーマ コレクション
IAL 任意のログインを偽装する

適用対象: SQL Server 2014 (12.x) 以降のバージョン。
SERVER
IM IMPERSONATE LOGIN
IM IMPERSONATE USER
IN INSERT DATABASE
IN INSERT OBJECT
IN INSERT SCHEMA
KIDC データベース接続の終了

適用対象: Azure SQL Database。
DATABASE
RC RECEIVE OBJECT
RF REFERENCES ASSEMBLY
RF REFERENCES 非対称キー
RF REFERENCES CERTIFICATE
RF REFERENCES CONTRACT
RF REFERENCES DATABASE
RF REFERENCES

適用対象: SQL Server 2017 (14.x) 以降のバージョン、および Azure SQL Database。
データベース スコープ付き認証情報
RF REFERENCES FULLTEXT カタログ
RF REFERENCES 全文テキスト・ストップリスト
RF REFERENCES 物件リストを検索
RF REFERENCES メッセージの種類
RF REFERENCES OBJECT
RF REFERENCES SCHEMA
RF REFERENCES 対称キー
RF REFERENCES TYPE
RF REFERENCES XML スキーマ コレクション
SHDN SHUTDOWN SERVER
SL SELECT DATABASE
SL SELECT OBJECT
SL SELECT SCHEMA
SN SEND SERVICE
SPLN SHOWPLAN DATABASE
SUQN クエリ通知をサブスクライブする DATABASE
SUS すべてのユーザー セキュリティ保護可能なリソースを選択する

適用対象: SQL Server 2014 (12.x) 以降のバージョン。
SERVER
TO 所有権 ASSEMBLY
TO 所有権 非対称キー
TO 所有権

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
可用性グループ (Availability Group)
TO 所有権 CERTIFICATE
TO 所有権 CONTRACT
TO 所有権 DATABASE
TO 所有権

適用対象: SQL Server 2017 (14.x) 以降のバージョン、および Azure SQL Database。
データベース スコープ付き認証情報
TO 所有権 ENDPOINT
TO 所有権 FULLTEXT カタログ
TO 所有権 全文テキスト・ストップリスト
TO 所有権 物件リストを検索
TO 所有権 メッセージの種類
TO 所有権 OBJECT
TO 所有権 リモート サービス バインド
TO 所有権 ROLE
TO 所有権 ROUTE
TO 所有権 SCHEMA
TO 所有権

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
サーバーロール
TO 所有権 SERVICE
TO 所有権 対称キー
TO 所有権 TYPE
TO 所有権 XML スキーマ コレクション
UMSK UNMASK

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
UP UPDATE DATABASE
UP UPDATE OBJECT
UP UPDATE SCHEMA
VW ビューの定義 アプリケーション ロール
VW ビューの定義 ASSEMBLY
VW ビューの定義 非対称キー
VW ビューの定義

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
可用性グループ (Availability Group)
VW ビューの定義 CERTIFICATE
VW ビューの定義 CONTRACT
VW ビューの定義 DATABASE
VW ビューの定義

適用対象: SQL Server 2017 (14.x) 以降のバージョン、および Azure SQL Database。
データベース スコープ付き認証情報
VW ビューの定義 ENDPOINT
VW ビューの定義 FULLTEXT カタログ
VW ビューの定義 全文テキスト・ストップリスト
VW ビューの定義 LOGIN
VW ビューの定義 メッセージの種類
VW ビューの定義 OBJECT
VW ビューの定義 リモート サービス バインド
VW ビューの定義 ROLE
VW ビューの定義 ROUTE
VW ビューの定義 SCHEMA
VW ビューの定義 物件リストを検索
VW ビューの定義

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
サーバーロール
VW ビューの定義 SERVICE
VW ビューの定義 対称キー
VW ビューの定義 TYPE
VW ビューの定義 USER
VW ビューの定義 XML スキーマ コレクション
VWAD 任意の定義を表示 SERVER
VWCK 列の暗号化キーの定義を表示します。

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
VWCM 任意の列のマスター_キーの定義の表示

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
VWCT 変更の追跡を表示する OBJECT
VWCT 変更の追跡を表示する SCHEMA
VWDB 任意のデータベースを表示 SERVER
VWDS データベースの状態の表示 DATABASE
VWSS サーバー状態を表示 SERVER
XA 外部アクセスアセンブリ SERVER
XU UNSAFE ASSEMBLY SERVER

Remarks

sys.fn_builtin_permissions は、定義済みのアクセス許可階層のコピーを出力するテーブル値関数です。 この階層には、対象となるアクセス許可が含まれます。 DEFAULT結果セットは、権限階層の有向の非循環グラフを表します。ルートは (クラス = SERVER、アクセス許可 = CONTROL SERVER)。

sys.fn_builtin_permissions は、相関パラメーターを受け入れません。

有効でないクラス名で sys.fn_builtin_permissions を呼び出すと、空のセットが返されます。

次の画像は、アクセス許可とそれらの関連性を示します。 一部の高いレベルの許可 ( CONTROL SERVERなど) は複数回列挙されています。 この記事のポスターは、読み取るには小さすぎます。 画像をクリックすると、フルサイズのデータベース エンジンのアクセス許可ポスターを PDF 形式でダウンロードできます。

データベース エンジンのアクセス許可 PDF のスクリーンショット。

Permissions

public ロールのメンバーシップが必要です。

Examples

A. すべての組み込みアクセス許可を一覧表示する

すべてのアクセス許可を返すには、 DEFAULT または空の文字列を使用します。

SELECT * FROM sys.fn_builtin_permissions(DEFAULT);
SELECT * FROM sys.fn_builtin_permissions('');

B. 対称キーに設定できるアクセス許可を一覧表示する

クラスを指定して、そのクラスに対して可能なすべてのアクセス許可を返します。

SELECT * FROM sys.fn_builtin_permissions(N'SYMMETRIC KEY');

C. SELECT 権限があるクラスを一覧表示する

SELECT * FROM sys.fn_builtin_permissions(DEFAULT)
    WHERE permission_name = 'SELECT';

こちらも参照ください