sys.fn_builtin_permissions (Transact-SQL)
Aplica-se a: SQL ServerBanco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
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 delas, não. Por exemplo, as permissões no nível do servidor não podem ser concedidas no Banco de Dados SQL. Para obter informações sobre quais plataformas dão suporte a cada permissão, consulte Permissões (Mecanismo de Banco de Dados).
Convenções de sintaxe de Transact-SQL
Sintaxe
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
Argumentos
[ PADRÃO | NULL ]
Quando for chamado com a opção DEFAULT (sem aspas), a função retornará uma lista completa de permissões internas.
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 devolvidas
Nome da coluna | Tipo de dados | Agrupamento | Descrição |
---|---|---|---|
class_desc | nvarchar(60) | Ordenação do servidor | Descrição da classe de protegível. |
permission_name | nvarchar(60) | Ordenação do servidor | Nome de permissão. |
tipo | varchar(4) | Ordenação do servidor | Código de tipo de permissão compacto. Consulte a tabela a seguir. |
covering_permission_name | nvarchar(60) | Ordenação do servidor | Se não for NULL, será o nome da permissão nessa classe que indica as outras permissões dela. |
parent_class_desc | nvarchar(60) | Ordenação do servidor | Se não for NULL, será o nome da classe pai que contém a classe atual. |
parent_covering_permission_name | nvarchar(60) | Ordenação do servidor | Se não for NULL, será o nome da permissão nessa classe pai que indica todas as outras permissões dela. |
Tipos de permissões
Tipo de permissão | Nome de permissão | Aplica-se a protegíveis ou classes |
---|---|---|
AADS | ALTER ANY DATABASE EVENT SESSION Aplica-se a: SQL Server 2014 (12.x) e versões posteriores. |
DATABASE |
AAES | ALTER ANY EVENT SESSION | SERVER |
AAMK | ALTER ANY MASK Aplica-se a: SQL Server 2016 (13.x) e versões posteriores. |
DATABASE |
ADBO | ADMINISTER BULK OPERATIONS | SERVER |
AEDS | ALTER ANY EXTERNAL DATA SOURCE Aplica-se a: SQL Server 2016 (13.x) e versões posteriores. |
DATABASE |
AEFF | ALTER ANY 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. |
CREDENCIAL NO ESCOPO DO BANCO DE DADOS |
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 ANY SERVER AUDIT | SERVER |
ALAG | ALTER ANY AVAILABILITY GROUP Aplica-se a: SQL Server 2012 (11.x) e versões posteriores. |
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 Aplica-se a: SQL Server 2016 (13.x) e versões posteriores. |
DATABASE |
ALCM | ALTER ANY COLUMN MASTER KEY Aplica-se a: SQL Server 2016 (13.x) e versões posteriores. |
DATABASE |
ALCO | ALTER ANY CONNECTION | SERVER |
ALDA | ALTER ANY DATABASE AUDIT | DATABASE |
ALDB | ALTER ANY DATABASE | SERVER |
ALDC | ALTER ANY DATABASE SCOPED CONFIGURATION Aplica-se a: SQL Server 2016 (13.x) e versões posteriores. |
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 | ALTER ANY SECURITY POLICY Aplica-se a: SQL Server 2016 (13.x) e versões posteriores. |
DATABASE |
ALSR | ALTER ANY SERVER ROLE Aplica-se a: SQL Server 2012 (11.x) e versões posteriores. |
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 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. |
CREDENCIAL NO ESCOPO DO BANCO DE DADOS |
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 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 | CONECTAR | DATABASE |
CO | CONECTAR | ENDPOINT |
CORP | CONNECT REPLICATION | DATABASE |
COSQ | CONNECT SQL | SERVER |
CP | CHECKPOINT | DATABASE |
CRAC | CRIAR GRUPO DE DISPONIBILIDADE 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 | 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 Aplica-se a: SQL Server 2012 (11.x) e versões posteriores. |
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 | ADMINISTRAR OPERAÇÕES EM LOTE DO BANCO DE DADOS Aplica-se a: Banco de Dados SQL. |
DATABASE |
DL | DELETE | DATABASE |
DL | DELETE | OBJECT |
DL | DELETE | SCHEMA |
EAES | EXECUTE ANY EXTERNAL SCRIPT 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 | IMPERSONATE ANY 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. |
CREDENCIAL NO ESCOPO DO BANCO DE DADOS |
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 | SUBSCRIBE QUERY NOTIFICATIONS | DATABASE |
SUS | SELECT ALL USER SECURABLES Aplica-se a: SQL Server 2014 (12.x) e versões posteriores. |
SERVER |
TO | TAKE OWNERSHIP | ASSEMBLY |
TO | TAKE OWNERSHIP | ASYMMETRIC KEY |
TO | TAKE OWNERSHIP Aplica-se a: SQL Server 2012 (11.x) e versões posteriores. |
AVAILABILITY GROUP |
TO | TAKE OWNERSHIP | CERTIFICATE |
TO | TAKE OWNERSHIP | CONTRACT |
TO | TAKE OWNERSHIP | DATABASE |
TO | TAKE OWNERSHIP Aplica-se a: SQL Server 2017 (14.x) e versões posteriores e Banco de Dados SQL do Azure. |
CREDENCIAL NO ESCOPO DO BANCO DE DADOS |
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 Aplica-se a: SQL Server 2012 (11.x) e versões posteriores. |
SERVER ROLE |
TO | TAKE OWNERSHIP | SERVICE |
TO | TAKE OWNERSHIP | SYMMETRIC KEY |
TO | TAKE OWNERSHIP | TYPE |
TO | TAKE OWNERSHIP | 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 DEFINITION | APPLICATION ROLE |
VW | VIEW DEFINITION | ASSEMBLY |
VW | VIEW DEFINITION | ASYMMETRIC KEY |
VW | VIEW DEFINITION Aplica-se a: SQL Server 2012 (11.x) e versões posteriores. |
AVAILABILITY GROUP |
VW | VIEW DEFINITION | CERTIFICATE |
VW | VIEW DEFINITION | CONTRACT |
VW | VIEW DEFINITION | DATABASE |
VW | VIEW DEFINITION Aplica-se a: SQL Server 2017 (14.x) e versões posteriores e Banco de Dados SQL do Azure. |
CREDENCIAL NO ESCOPO DO BANCO DE DADOS |
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 Aplica-se a: SQL Server 2012 (11.x) e versões posteriores. |
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 | VIEW ANY COLUMN ENCRYPTION KEY DEFINITION Aplica-se a: SQL Server 2016 (13.x) e versões posteriores. |
DATABASE |
VWCM | VIEW ANY COLUMN MASTER KEY DEFINITION Aplica-se a: SQL Server 2016 (13.x) e versões posteriores. |
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 |
Comentários
sys.fn_builtin_permissions
é uma função com valor de tabela que emite uma cópia da hierarquia de permissões predefinidas. 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 correlatos.
sys.fn_builtin_permissions
retornará um conjunto vazio quando for chamado com um nome de classe inválido.
A imagem a seguir mostra as permissões e as relações entre elas. Algumas das permissões de nível superior (como CONTROL SERVER
) são listadas várias vezes. Neste artigo, o cartaz é pequeno demais para ser lido. Você pode baixar o Cartaz de permissões do mecanismo de banco de dados no formato PDF.
Permissões
Requer associação à função public.
Exemplos
R. Listar todas as permissões internas
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';