sys.fn_builtin_permissions (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Retorna uma descrição da hierarquia de permissões interna do servidor. sys.fn_builtin_permissions só pode ser chamado no SQL Server e no Banco de Dados SQL do Azure e retorna todas as permissões, independentemente de terem suporte na plataforma atual. A maioria das permissões se aplica a todas as plataformas, mas algumas não. Por exemplo, as permissões de nível de servidor não podem ser concedidas no Banco de dados SQL. Para obter informações sobre quais plataformas oferecem suporte a cada permissão, consulte Permissões (Mecanismo de Banco de Dados).

Transact-SQL convenções de sintaxe

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 ]

Quando é chamada com a DEFAULT opção (sem aspas), a função devolve uma lista completa de permissões incorporadas.

NULL é equivalente a DEFAULT.

empty_string

Equivalente a DEFAULT.

'<securable_class>'

Quando chamado com o nome de uma classe protegível, sys.fn_builtin_permissions retornará todas as permissões que se aplicam à classe. '<securable_class>' é um literal de cadeia de caracteres do tipo nvarchar(60) que requer aspas.

Tabelas de regresso

Nome da coluna Tipo de dados Collation Description
class_desc nvarchar(60) Agrupamento do servidor Descrição da classe protegível.
permission_name nvarchar(60) Agrupamento do servidor Nome de permissão.
tipo varchar(4) Agrupamento do servidor Compactar código de tipo de permissão. Veja a tabela a seguir.
covering_permission_name nvarchar(60) Agrupamento do servidor Se não for NULL, este é o nome da permissão nesta classe que implica as outras permissões nesta classe.
parent_class_desc nvarchar(60) Agrupamento do servidor Se não for NULL, este é o nome da classe pai que contém a classe atual.
parent_covering_permission_name nvarchar(60) Agrupamento do servidor Se não for NULL, este é o nome da permissão na classe pai que implica todas as outras permissões nessa classe.

Tipos de permissão

Tipo de permissão Nome da permissão Aplica-se a protegíveis ou classe
AADS ALTERAR QUALQUER DATABASEEVENT SESSION

Aplica-se a: SQL Server 2014 (12.x) e versões posteriores.
DATABASE
AAES ALTER QUALQUER EVENT SESSION SERVER
AAMK ALTERE QUALQUER MÁSCARA

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.
DATABASE
ADBO ADMINISTRAR OPERAÇÕES EM MASSA SERVER
AEDS ALTER QUALQUER EXTERNAL DATA SOURCE

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.
DATABASE
AEFF ALTER QUALQUER EXTERNAL FILE FORMAT

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.
DATABASE
AL ALTER APPLICATION ROLE
AL ALTER ASSEMBLY
AL ALTER

Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
AVAILABILITY GROUP
AL ALTER ASYMMETRIC KEY
AL ALTER CERTIFICATE
AL ALTER CONTRACT
AL ALTER DATABASE
AL ALTER

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores e Banco de Dados SQL do Azure.
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

Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
SERVER ROLE
AL ALTER SERVICE
AL ALTER SYMMETRIC KEY
AL ALTER USER
AL ALTER XML SCHEMA COLLECTION
ALAA ALTER QUALQUER SERVER AUDIT SERVER
ALAG ALTER QUALQUER AVAILABILITY GROUP

Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
SERVER
ALAK ALTER QUALQUER ASYMMETRIC KEY DATABASE
ALAR ALTER QUALQUER APPLICATION ROLE DATABASE
ALAS ALTER QUALQUER ASSEMBLY DATABASE
ALCD ALTER QUALQUER CREDENTIAL SERVER
ALCF ALTER QUALQUER CERTIFICATE DATABASE
ALCK ALTER QUALQUER COLUMN ENCRYPTION KEY

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.
DATABASE
ALCM ALTER QUALQUER COLUMN MASTER KEY

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.
DATABASE
ALCO ALTERAR QUALQUER LIGAÇÃO SERVER
ALDA ALTERAR QUALQUER DATABASE AUDITORIA DATABASE
ALDB ALTER QUALQUER DATABASE SERVER
ALDC ALTER QUALQUER DATABASE SCOPED CONFIGURATION

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.
DATABASE
ALDS ALTERAR QUALQUER ESPAÇO DE DADOS DATABASE
ALED ALTERAR QUALQUER DATABASEEVENT NOTIFICATION DATABASE
ALES ALTER QUALQUER EVENT NOTIFICATION SERVER
ALFT ALTER QUALQUER FULLTEXT CATALOG DATABASE
ALHE ALTER QUALQUER ENDPOINT SERVER
ALLG ALTER QUALQUER LOGIN SERVER
ALLS ALTERAR QUALQUER SERVIDOR VINCULADO SERVER
ALMT ALTER QUALQUER MESSAGE TYPE DATABASE
ALRL ALTER QUALQUER ROLE DATABASE
ALRS ALTERAR RECURSOS SERVER
ALRT ALTER QUALQUER ROUTE DATABASE
ALSB ALTER QUALQUER REMOTE SERVICE BINDING DATABASE
ALSC ALTER QUALQUER CONTRACT DATABASE
ALSK ALTER QUALQUER SYMMETRIC KEY DATABASE
ALSM ALTER QUALQUER SCHEMA DATABASE
ALSP ALTER QUALQUER SECURITY POLICY

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.
DATABASE
ALSR ALTER QUALQUER SERVER ROLE

Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
SERVER
ALSS ESTADO DO SERVIDOR ALTER SERVER
ALST ALTERAR DEFINIÇÕES SERVER
ALSV ALTER QUALQUER SERVICE DATABASE
ALTG ALTERAR QUALQUER DATABASE DDL TRIGGER DATABASE
ALTR ALTERAR RASTREAMENTO SERVER
ALUS ALTER QUALQUER USER DATABASE
AUTH AUTHENTICATE DATABASE
AUTH AUTENTICAR SERVIDOR SERVER
BADB BACKUP DATABASE DATABASE
BALO BACKUP LOG DATABASE
CADB LIGA QUALQUER DATABASE

Aplica-se a: SQL Server 2014 (12.x) e versões posteriores.
SERVER
CL CONTROL APPLICATION ROLE
CL CONTROL ASSEMBLY
CL CONTROL ASYMMETRIC KEY
CL CONTROL

Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
AVAILABILITY GROUP
CL CONTROL CERTIFICATE
CL CONTROL CONTRACT
CL CONTROL DATABASE
CL CONTROL

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores e Banco de Dados SQL do Azure.
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 SERVIDOR DE CONTROLO SERVER
CL CONTROL

Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
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 REPLICAÇÃO CONNECT DATABASE
COSQ CONNECT SQL SERVER
CP CHECKPOINT DATABASE
CRAC CREATE AVAILABILITY GROUP

Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
SERVER
CRAG CREATE AGGREGATE DATABASE
CRAK CREATE ASYMMETRIC KEY DATABASE
CRAS CREATE ASSEMBLY DATABASE
CRCF CREATE CERTIFICATE DATABASE
CRDB CRIAR QUALQUER DATABASE SERVER
CRDB CREATE DATABASE DATABASE
CRDE CRIAR 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

Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
SERVER
CRSV CREATE SERVICE DATABASE
CRTB CREATE TABLE DATABASE
CRTE CRIAR RASTREIO EVENT NOTIFICATION SERVER
CRTY CREATE TYPE DATABASE
CRVW CREATE VIEW DATABASE
CRXS CREATE XML SCHEMA COLLECTION DATABASE
DABO ADMINISTRAÇÃO DATABASE DE OPERAÇÕES A GRANEL

Aplica-se a: Banco de dados SQL.
DATABASE
DL DELETE DATABASE
DL DELETE OBJECT
DL DELETE SCHEMA
EAES EXECUTE QUALQUER SCRIPT EXTERNO

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.
DATABASE
EX EXECUTE DATABASE
EX EXECUTE OBJECT
EX EXECUTE SCHEMA
EX EXECUTE TYPE
EX EXECUTE XML SCHEMA COLLECTION
IAL IMITAR QUALQUER LOGIN

Aplica-se a: SQL Server 2014 (12.x) e versões posteriores.
SERVER
IM IMPERSONATE LOGIN
IM IMPERSONATE USER
IN INSERT DATABASE
IN INSERT OBJECT
IN INSERT SCHEMA
KIDC KILL DATABASE CONNECTION

Aplica-se a: Banco de Dados SQL do Azure.
DATABASE
RC RECEIVE OBJECT
RF REFERENCES ASSEMBLY
RF REFERENCES ASYMMETRIC KEY
RF REFERENCES CERTIFICATE
RF REFERENCES CONTRACT
RF REFERENCES DATABASE
RF REFERENCES

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores e Banco de Dados SQL do Azure.
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 SUBSCREVER NOTIFICAÇÕES DE CONSULTA DATABASE
SUS SELECIONE TODOS OS USER VALORES GARANTIDOS

Aplica-se a: SQL Server 2014 (12.x) e versões posteriores.
SERVER
TO ASSUMIR A RESPONSABILIDADE ASSEMBLY
TO ASSUMIR A RESPONSABILIDADE ASYMMETRIC KEY
TO ASSUMIR A RESPONSABILIDADE

Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
AVAILABILITY GROUP
TO ASSUMIR A RESPONSABILIDADE CERTIFICATE
TO ASSUMIR A RESPONSABILIDADE CONTRACT
TO ASSUMIR A RESPONSABILIDADE DATABASE
TO ASSUMIR A RESPONSABILIDADE

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores e Banco de Dados SQL do Azure.
DATABASE SCOPED CREDENTIAL
TO ASSUMIR A RESPONSABILIDADE ENDPOINT
TO ASSUMIR A RESPONSABILIDADE FULLTEXT CATALOG
TO ASSUMIR A RESPONSABILIDADE FULLTEXT STOPLIST
TO ASSUMIR A RESPONSABILIDADE SEARCH PROPERTY LIST
TO ASSUMIR A RESPONSABILIDADE MESSAGE TYPE
TO ASSUMIR A RESPONSABILIDADE OBJECT
TO ASSUMIR A RESPONSABILIDADE REMOTE SERVICE BINDING
TO ASSUMIR A RESPONSABILIDADE ROLE
TO ASSUMIR A RESPONSABILIDADE ROUTE
TO ASSUMIR A RESPONSABILIDADE SCHEMA
TO ASSUMIR A RESPONSABILIDADE

Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
SERVER ROLE
TO ASSUMIR A RESPONSABILIDADE SERVICE
TO ASSUMIR A RESPONSABILIDADE SYMMETRIC KEY
TO ASSUMIR A RESPONSABILIDADE TYPE
TO ASSUMIR A RESPONSABILIDADE XML SCHEMA COLLECTION
UMSK UNMASK

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.
DATABASE
UP UPDATE DATABASE
UP UPDATE OBJECT
UP UPDATE SCHEMA
VW VIEW DEFINIÇÃO APPLICATION ROLE
VW VIEW DEFINIÇÃO ASSEMBLY
VW VIEW DEFINIÇÃO ASYMMETRIC KEY
VW VIEW DEFINIÇÃO

Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
AVAILABILITY GROUP
VW VIEW DEFINIÇÃO CERTIFICATE
VW VIEW DEFINIÇÃO CONTRACT
VW VIEW DEFINIÇÃO DATABASE
VW VIEW DEFINIÇÃO

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores e Banco de Dados SQL do Azure.
DATABASE SCOPED CREDENTIAL
VW VIEW DEFINIÇÃO ENDPOINT
VW VIEW DEFINIÇÃO FULLTEXT CATALOG
VW VIEW DEFINIÇÃO FULLTEXT STOPLIST
VW VIEW DEFINIÇÃO LOGIN
VW VIEW DEFINIÇÃO MESSAGE TYPE
VW VIEW DEFINIÇÃO OBJECT
VW VIEW DEFINIÇÃO REMOTE SERVICE BINDING
VW VIEW DEFINIÇÃO ROLE
VW VIEW DEFINIÇÃO ROUTE
VW VIEW DEFINIÇÃO SCHEMA
VW VIEW DEFINIÇÃO SEARCH PROPERTY LIST
VW VIEW DEFINIÇÃO

Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
SERVER ROLE
VW VIEW DEFINIÇÃO SERVICE
VW VIEW DEFINIÇÃO SYMMETRIC KEY
VW VIEW DEFINIÇÃO TYPE
VW VIEW DEFINIÇÃO USER
VW VIEW DEFINIÇÃO XML SCHEMA COLLECTION
VWAD VIEW QUALQUER DEFINIÇÃO SERVER
VWCK VIEW QUALQUER COLUMN ENCRYPTION KEY DEFINIÇÃO

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.
DATABASE
VWCM VIEW QUALQUER COLUMN MASTER KEY DEFINIÇÃO

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.
DATABASE
VWCT VIEW MONITORIZAÇÃO DE ALTERAÇÕES OBJECT
VWCT VIEW MONITORIZAÇÃO DE ALTERAÇÕES SCHEMA
VWDB VIEW QUALQUER DATABASE SERVER
VWDS VIEW DATABASE ESTADO DATABASE
VWSS VIEW ESTADO DO SERVIDOR SERVER
XA ACESSO EXTERNO ASSEMBLY SERVER
XU INSEGURO ASSEMBLY SERVER

Remarks

sys.fn_builtin_permissions é uma função com valor de tabela que emite uma cópia da hierarquia de permissões predefinida. Essa hierarquia inclui permissões de cobertura. O DEFAULT conjunto de resultados descreve um gráfico acíclico direcionado da hierarquia de permissões, da qual a raiz é (class = SERVER, permission = CONTROL SERVER).

sys.fn_builtin_permissions não aceita parâmetros correlacionados.

sys.fn_builtin_permissions retornará um conjunto vazio quando ele for chamado com um nome de classe que não é válido.

A imagem a seguir mostra as permissões e suas relações entre si. Algumas das permissões de nível superior (como CONTROL SERVER) são listadas muitas vezes. Neste artigo, o cartaz é demasiado pequeno para ser lido. Você pode baixar o poster de Permissões do Mecanismo de Banco de Dados em tamanho real em formato PDF.

Captura de tela do PDF de permissões do Mecanismo de Banco de Dados.

Permissions

Requer a participação na função pública.

Examples

A. Listar todas as permissões incorporadas

Use DEFAULT ou uma cadeia de caracteres vazia para retornar todas as permissões.

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

B. Listar permissões que podem ser definidas em uma chave simétrica

Especifique uma classe para retornar todas as permissões possíveis para essa classe.

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

C. Listar classes nas quais há uma permissão SELECT

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

Consulte também