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 (データベース エンジン)を参照してください。
構文
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 形式でダウンロードできます。
アクセス許可
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';