sys.fn_builtin_permissions (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance

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

Transact-SQL 構文表記規則

構文

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

引数

[ DEFAULT |NULL ]

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

NULL は DEFAULT と同じです。

empty_string

DEFAULT と同じです。

'<securable_class>'

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

返されるテーブル

列名 データ型 照合順序 説明
class_desc nvarchar(60) サーバーの照合順序 セキュリティ保護可能なクラスの説明。
permission_name nvarchar(60) サーバーの照合順序 権限名。
type 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 EVENT SESSION

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

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

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

適用対象: 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 ALTER ANY SERVER AUDIT SERVER
ALAG ALTER ANY AVAILABILITY GROUP

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

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
ALCM ALTER ANY COLUMN MASTER KEY

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
ALCO ALTER ANY CONNECTION SERVER
ALDA ALTER ANY DATABASE AUDIT DATABASE
ALDB ALTER ANY DATABASE SERVER
ALDC ALTER ANY DATABASE SCOPED CONFIGURATION

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
ALDS ALTER ANY DATASPACE DATABASE
ALED ALTER ANY DATABASE EVENT NOTIFICATION DATABASE
ALES ALTER ANY EVENT NOTIFICATION SERVER
ALFT ALTER ANY FULLTEXT CATALOG DATABASE
ALHE ALTER ANY ENDPOINT SERVER
ALLG ALTER ANY LOGIN SERVER
ALLS ALTER ANY LINKED SERVER SERVER
ALMT ALTER ANY MESSAGE TYPE DATABASE
ALRL ALTER ANY ROLE DATABASE
ALRS ALTER RESOURCES SERVER
ALRT ALTER ANY ROUTE DATABASE
ALSB ALTER ANY REMOTE SERVICE BINDING DATABASE
ALSC ALTER ANY CONTRACT DATABASE
ALSK ALTER ANY SYMMETRIC KEY DATABASE
ALSM ALTER ANY SCHEMA DATABASE
ALSP すべてのセキュリティ ポリシーを変更します。

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

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER
ALSS ALTER SERVER STATE SERVER
ALST ALTER SETTINGS SERVER
ALSV ALTER ANY SERVICE DATABASE
ALTG ALTER ANY DATABASE DDL TRIGGER DATABASE
ALTR ALTER TRACE SERVER
ALUS ALTER ANY USER DATABASE
AUTH AUTHENTICATE DATABASE
AUTH AUTHENTICATE SERVER SERVER
BADB BACKUP DATABASE DATABASE
BALO BACKUP LOG DATABASE
CADB CONNECT ANY 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 CONTROL SERVER 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 CONNECT REPLICATION DATABASE
COSQ CONNECT 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 CREATE ANY DATABASE SERVER
CRDB CREATE DATABASE DATABASE
CRDE CREATE 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 CREATE TRACE EVENT NOTIFICATION SERVER
CRTY CREATE TYPE DATABASE
CRVW CREATE VIEW DATABASE
CRXS CREATE XML SCHEMA COLLECTION DATABASE
DABO ADMINISTER DATABASE BULK OPERATIONS

適用対象: SQL Database。
DATABASE
DL DELETE DATABASE
DL DELETE OBJECT
DL DELETE SCHEMA
EAES EXECUTE ANY EXTERNAL SCRIPT

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
EX EXECUTE DATABASE
EX EXECUTE OBJECT
EX EXECUTE SCHEMA
EX EXECUTE TYPE
EX EXECUTE XML SCHEMA COLLECTION
IAL IMPERSONATE ANY LOGIN

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

適用対象: Azure SQL データベース
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 選択 DATABASE
SL 選択 OBJECT
SL 選択 SCHEMA
SN SEND SERVICE
SPLN SHOWPLAN DATABASE
SUQN SUBSCRIBE QUERY NOTIFICATIONS DATABASE
SUS SELECT ALL USER SECURABLES

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

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

適用対象: SQL Server 2017 (14.x) 以降のバージョンと Azure SQL Database
DATABASE SCOPED CREDENTIAL
TO TAKE OWNERSHIP ENDPOINT
TO TAKE OWNERSHIP FULLTEXT CATALOG
TO TAKE OWNERSHIP FULLTEXT STOPLIST
TO TAKE OWNERSHIP SEARCH PROPERTY LIST
TO TAKE OWNERSHIP MESSAGE TYPE
TO TAKE OWNERSHIP OBJECT
TO TAKE OWNERSHIP REMOTE SERVICE BINDING
TO TAKE OWNERSHIP ROLE
TO TAKE OWNERSHIP ROUTE
TO TAKE OWNERSHIP SCHEMA
TO TAKE OWNERSHIP

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER ROLE
TO TAKE OWNERSHIP SERVICE
TO TAKE OWNERSHIP SYMMETRIC KEY
TO TAKE OWNERSHIP TYPE
TO TAKE OWNERSHIP XML SCHEMA COLLECTION
UMSK マスク解除します。

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

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

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

適用対象: SQL Server 2012 (11.x) 以降のバージョン。
SERVER ROLE
VW VIEW DEFINITION SERVICE
VW VIEW DEFINITION SYMMETRIC KEY
VW VIEW DEFINITION TYPE
VW VIEW DEFINITION User
VW VIEW DEFINITION XML SCHEMA COLLECTION
VWAD VIEW ANY DEFINITION SERVER
VWCK 列の暗号化キーの定義を表示します。

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

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
DATABASE
VWCT VIEW CHANGE TRACKING OBJECT
VWCT VIEW CHANGE TRACKING SCHEMA
VWDB VIEW ANY DATABASE SERVER
VWDS VIEW DATABASE STATE DATABASE
VWSS VIEW SERVER STATE SERVER
XA EXTERNAL ACCESS ASSEMBLY SERVER
XU UNSAFE ASSEMBLY SERVER

解説

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

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

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

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

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

アクセス許可

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

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';

関連項目