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 |無効 ]

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(変えて) DATABASEEVENT SESSION

適用対象: SQL Server 2014 (12.x) 以降のバージョン
DATABASE
AAES "任意の EVENT SESSION を変更" SERVER
AAMK 任意のマスクを変更します。

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
ADBO 一括操作の管理 SERVER
AEDS "任意の EXTERNAL DATA SOURCE を変更"

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
AEFF "任意の EXTERNAL FILE FORMAT を変更"

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
AL ALTER APPLICATION ROLE
AL ALTER ASSEMBLY
AL ALTER

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
AVAILABILITY GROUP
AL ALTER ASYMMETRIC KEY
AL ALTER CERTIFICATE
AL ALTER CONTRACT
AL ALTER DATABASE
AL ALTER

適用対象: SQL Server 2017 (14.x) 以降のバージョン、および Azure SQL Database。
DATABASE SCOPED CREDENTIAL
AL ALTER ENDPOINT
AL ALTER FULLTEXT CATALOG
AL ALTER FULLTEXT STOPLIST
AL ALTER LOGIN
AL ALTER MESSAGE TYPE
AL ALTER OBJECT
AL ALTER REMOTE SERVICE BINDING
AL ALTER ROLE
AL ALTER ROUTE
AL ALTER SCHEMA
AL ALTER SEARCH PROPERTY LIST
AL ALTER

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER ROLE
AL ALTER SERVICE
AL ALTER SYMMETRIC KEY
AL ALTER USER
AL ALTER XML SCHEMA COLLECTION
ALAA "任意の SERVER AUDIT を変更" SERVER
ALAG "任意の AVAILABILITY GROUP を変更"

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER
ALAK "任意の ASYMMETRIC KEY を変更" DATABASE
ALAR "任意の APPLICATION ROLE を変更" DATABASE
ALAS "任意の ASSEMBLY を変更" DATABASE
ALCD "任意の CREDENTIAL を変更" SERVER
ALCF "任意の CERTIFICATE を変更" DATABASE
ALCK "任意の COLUMN ENCRYPTION KEY を変更"

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
ALCM "任意の COLUMN MASTER KEY を変更"

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
ALCO 任意の接続を変更する SERVER
ALDA 監査 DATABASE を変更する DATABASE
ALDB "任意の DATABASE を変更" SERVER
ALDC "任意の DATABASE SCOPED CONFIGURATION を変更"

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
ALDS 任意のデータスペースを変更する DATABASE
ALED ALTER ANY(変えて) DATABASEEVENT NOTIFICATION DATABASE
ALES "任意の EVENT NOTIFICATION を変更" SERVER
ALFT "任意の FULLTEXT CATALOG を変更" DATABASE
ALHE "任意の ENDPOINT を変更" SERVER
ALLG "任意の LOGIN を変更" SERVER
ALLS 任意のリンク サーバーを変更する SERVER
ALMT "任意の MESSAGE TYPE を変更" DATABASE
ALRL "任意の ROLE を変更" DATABASE
ALRS リソースの変更 SERVER
ALRT "任意の ROUTE を変更" DATABASE
ALSB "任意の REMOTE SERVICE BINDING を変更" DATABASE
ALSC "任意の CONTRACT を変更" DATABASE
ALSK "任意の SYMMETRIC KEY を変更" DATABASE
ALSM "任意の SCHEMA を変更" DATABASE
ALSP "任意の SECURITY POLICY を変更"

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
ALSR "任意の SERVER ROLE を変更"

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER
ALSS サーバーの状態を変更 SERVER
ALST 設定を変更 SERVER
ALSV "任意の SERVICE を変更" DATABASE
ALTG DDL DATABASE 変更 TRIGGER DATABASE
ALTR オルター・トレース SERVER
ALUS "任意の USER を変更" DATABASE
AUTH AUTHENTICATE DATABASE
AUTH サーバーの認証 SERVER
BADB BACKUP DATABASE DATABASE
BALO BACKUP ログ DATABASE
CADB どのものでも接続してください DATABASE

適用対象: SQL Server 2014 (12.x) 以降のバージョン。
SERVER
CL CONTROL APPLICATION ROLE
CL CONTROL ASSEMBLY
CL CONTROL ASYMMETRIC KEY
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。
DATABASE SCOPED CREDENTIAL
CL CONTROL ENDPOINT
CL CONTROL FULLTEXT CATALOG
CL CONTROL FULLTEXT STOPLIST
CL CONTROL LOGIN
CL CONTROL MESSAGE TYPE
CL CONTROL OBJECT
CL CONTROL REMOTE SERVICE BINDING
CL CONTROL ROLE
CL CONTROL ROUTE
CL CONTROL SCHEMA
CL CONTROL SEARCH PROPERTY LIST
CL 制御サーバー SERVER
CL CONTROL

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER ROLE
CL CONTROL SERVICE
CL CONTROL SYMMETRIC KEY
CL CONTROL TYPE
CL CONTROL USER
CL CONTROL XML SCHEMA COLLECTION
CO CONNECT DATABASE
CO CONNECT ENDPOINT
CORP コネクト・レプリケーション DATABASE
COSQ SQLに接続 SERVER
CP CHECKPOINT DATABASE
CRAC CREATE AVAILABILITY GROUP

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER
CRAG CREATE AGGREGATE DATABASE
CRAK CREATE ASYMMETRIC KEY DATABASE
CRAS CREATE ASSEMBLY DATABASE
CRCF CREATE CERTIFICATE DATABASE
CRDB 何でも作成してください DATABASE SERVER
CRDB CREATE DATABASE DATABASE
CRDE DDLを作成 EVENT NOTIFICATION SERVER
CRDF CREATE DEFAULT DATABASE
CRED CREATE DATABASE Ddl EVENT NOTIFICATION DATABASE
CRFN CREATE FUNCTION DATABASE
CRFT CREATE FULLTEXT CATALOG DATABASE
CRHE CREATE ENDPOINT SERVER
CRMT CREATE MESSAGE TYPE DATABASE
CRPR CREATE PROCEDURE DATABASE
CRQU CREATE QUEUE DATABASE
CRRL CREATE ROLE DATABASE
CRRT CREATE ROUTE DATABASE
CRRU CREATE RULE DATABASE
CRSB CREATE REMOTE SERVICE BINDING DATABASE
CRSC CREATE CONTRACT DATABASE
CRSK CREATE SYMMETRIC KEY DATABASE
CRSM CREATE SCHEMA DATABASE
CRSN CREATE SYNONYM DATABASE
CRSO CREATE SEQUENCE SCHEMA
CRSR CREATE SERVER ROLE

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER
CRSV CREATE SERVICE DATABASE
CRTB CREATE TABLE DATABASE
CRTE トレースを作成 EVENT NOTIFICATION SERVER
CRTY CREATE TYPE DATABASE
CRVW CREATE VIEW DATABASE
CRXS CREATE XML SCHEMA COLLECTION DATABASE
DABO 一括操作 DATABASE 管理する

適用対象: 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 SCHEMA COLLECTION
IAL 誰かになりすます LOGIN

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

適用対象: Azure SQL Database。
DATABASE
RC RECEIVE OBJECT
RF REFERENCES ASSEMBLY
RF REFERENCES ASYMMETRIC KEY
RF REFERENCES CERTIFICATE
RF REFERENCES CONTRACT
RF REFERENCES DATABASE
RF REFERENCES

適用対象: SQL Server 2017 (14.x) 以降のバージョン、および Azure SQL Database。
DATABASE SCOPED CREDENTIAL
RF REFERENCES FULLTEXT CATALOG
RF REFERENCES FULLTEXT STOPLIST
RF REFERENCES SEARCH PROPERTY LIST
RF REFERENCES MESSAGE TYPE
RF REFERENCES OBJECT
RF REFERENCES SCHEMA
RF REFERENCES SYMMETRIC KEY
RF REFERENCES TYPE
RF REFERENCES XML SCHEMA COLLECTION
SHDN SHUTDOWN SERVER
SL SELECT DATABASE
SL SELECT OBJECT
SL SELECT SCHEMA
SN SEND SERVICE
SPLN SHOWPLAN DATABASE
SUQN クエリ通知をサブスクライブする DATABASE
SUS すべての USER セキュリティ保護可能なリソースを選択する

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

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
AVAILABILITY GROUP
TO 所有権 CERTIFICATE
TO 所有権 CONTRACT
TO 所有権 DATABASE
TO 所有権

適用対象: SQL Server 2017 (14.x) 以降のバージョン、および Azure SQL Database。
DATABASE SCOPED CREDENTIAL
TO 所有権 ENDPOINT
TO 所有権 FULLTEXT CATALOG
TO 所有権 FULLTEXT STOPLIST
TO 所有権 SEARCH PROPERTY LIST
TO 所有権 MESSAGE TYPE
TO 所有権 OBJECT
TO 所有権 REMOTE SERVICE BINDING
TO 所有権 ROLE
TO 所有権 ROUTE
TO 所有権 SCHEMA
TO 所有権

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER ROLE
TO 所有権 SERVICE
TO 所有権 SYMMETRIC KEY
TO 所有権 TYPE
TO 所有権 XML SCHEMA COLLECTION
UMSK UNMASK

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
UP UPDATE DATABASE
UP UPDATE OBJECT
UP UPDATE SCHEMA
VW VIEW 定義 APPLICATION ROLE
VW VIEW 定義 ASSEMBLY
VW VIEW 定義 ASYMMETRIC KEY
VW VIEW 定義

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
AVAILABILITY GROUP
VW VIEW 定義 CERTIFICATE
VW VIEW 定義 CONTRACT
VW VIEW 定義 DATABASE
VW VIEW 定義

適用対象: SQL Server 2017 (14.x) 以降のバージョン、および Azure SQL Database。
DATABASE SCOPED CREDENTIAL
VW VIEW 定義 ENDPOINT
VW VIEW 定義 FULLTEXT CATALOG
VW VIEW 定義 FULLTEXT STOPLIST
VW VIEW 定義 LOGIN
VW VIEW 定義 MESSAGE TYPE
VW VIEW 定義 OBJECT
VW VIEW 定義 REMOTE SERVICE BINDING
VW VIEW 定義 ROLE
VW VIEW 定義 ROUTE
VW VIEW 定義 SCHEMA
VW VIEW 定義 SEARCH PROPERTY LIST
VW VIEW 定義

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER ROLE
VW VIEW 定義 SERVICE
VW VIEW 定義 SYMMETRIC KEY
VW VIEW 定義 TYPE
VW VIEW 定義 USER
VW VIEW 定義 XML SCHEMA COLLECTION
VWAD VIEW 任意の定義 SERVER
VWCK VIEW 任意の COLUMN ENCRYPTION KEY 定義

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
VWCM VIEW 任意の COLUMN MASTER KEY 定義

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
VWCT VIEW 変更の追跡 OBJECT
VWCT VIEW 変更の追跡 SCHEMA
VWDB VIEW どんな人でも DATABASE SERVER
VWDS VIEW DATABASE 州 DATABASE
VWSS VIEW サーバーの状態 SERVER
XA 外部アクセス ASSEMBLY 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';

こちらも参照ください