Compartilhar via


Permissões (Mecanismo de Banco de Dados)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Ponto de extremidade de análise de SQL no Microsoft FabricDepósito no Microsoft FabricBanco de dados SQL no Microsoft Fabric

Cada SQL Server protegível tem permissões associadas que podem ser concedidas a uma entidade de segurança. As permissões no mecanismo de banco de dados são gerenciadas no nível do servidor e atribuídas a funções de logon e de servidor, e no nível do banco de dados, são atribuídas a funções de usuários do banco de dados e funções de banco de dados. O modelo para o Banco de Dados SQL do Azure tem o mesmo sistema para as permissões de banco de dados, mas as permissões no nível do servidor não estão disponíveis. Este artigo contém a lista completa de permissões. Para obter uma implementação típica das permissões, consulte Introdução às permissões do Mecanismo de Banco de Dados.

O número total de permissões para o SQL Server 2022 (16.x) é 292. O Banco de Dados SQL do Azure expõe 292 permissões. A maioria das permissões se aplica a todas as plataformas, mas algumas delas, não. Por exemplo, a maioria das permissões de nível de servidor não podem ser concedidas no banco de dados SQL do Azure, e algumas permissões só fazem sentido no Banco de Dados SQL do Azure. As novas permissões estão sendo introduzidas gradualmente nas novas versões. O SQL Server 2019 (15.x) expõe 248 permissões. O SQL Server 2017 (14.x) expôs 238 permissões. O SQL Server 2016 (13.x) expôs 230 permissões. O SQL Server 2014 (12.x) expôs 219 permissões. O SQL Server 2012 (11.x) expôs 214 permissões. SQL Server 2008 R2 (10.50.x) expôs 195 permissões. O artigo sys.fn_builtin_permissions especifica quais permissões são novas em versões recentes.

No banco de dados SQL no Microsoft Fabric, há suporte apenas para usuários e funções no nível do banco de dados. Logins, funções no nível do servidor e a conta sa não estão disponíveis. No banco de dados SQL no Microsoft Fabric, a ID do Microsoft Entra para usuários do banco de dados é o único método de autenticação com suporte. Para obter mais informações, consulte Autorização no banco de dados SQL no Microsoft Fabric.

Assim que compreender os requisitos de permissões, você pode aplicar permissões no servidor para logons ou funções de servidor e permissões no banco de dados para usuários ou funções de banco de dados usando as instruções GRANT, REVOKE e DENY. Por exemplo:

GRANT SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
REVOKE SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;

Para obter dicas sobre como planejar um sistema de permissões, consulte Introdução às permissões do Mecanismo de Banco de Dados.

Convenções de nomenclatura de permissões

A seguir, encontram-se as convenções gerais a serem adotadas ao se nomear permissões:

  • CONTROL

    Confere capacidades de propriedade ao usuário autorizado. O usuário autorizado efetivamente tem todas as permissões definidas no protegível. Uma entidade à qual foi concedido CONTROL também pode conceder permissões no protegível. Como o modelo de segurança do SQL Server é hierárquico, CONTROL em um escopo específico inclui implicitamente CONTROL sobre todos os protegíveis naquele escopo. Por exemplo, CONTROL em um banco de dados implica todas as permissões do banco de dados, todas as permissões em todos os assemblies no banco de dados, todas as permissões em todos os esquemas no banco de dados e todas as permissões em objetos de todos os esquemas no banco de dados.

  • ALTER

    Confere a capacidade de alterar as propriedades, menos a propriedade de um protegível específico. Quando concedido em um escopo, ALTER também concede a capacidade de alterar, criar ou descartar qualquer protegível contido naquele escopo. Por exemplo, a permissão ALTER em um esquema inclui a capacidade de criar, alterar e descartar objetos do esquema.

  • ALTER ANY <Server Securable>, onde Server Securable pode ser qualquer protegível do servidor.

    Confere a capacidade de criar, alterar ou remover instâncias individuais do Protegível de Servidor. Por exemplo, ALTER ANY LOGIN confere a capacidade de criar, alterar ou descartar qualquer logon na instância.

  • ALTER ANY <Database Securable>, onde Database Securable pode ser qualquer protegível no nível de banco de dados.

    Confere a capacidade de criar, alterar ou remover instâncias individuais do Protegível do Banco de Dados. Por exemplo, ALTER ANY SCHEMA confere a capacidade de criar, alterar ou descartar qualquer esquema no banco de dados.

  • ASSUMA A RESPONSABILIDADE

    Habilita o usuário autorizado a assumir propriedade do protegível no qual é concedido.

  • IMPERSONATE <Logon>

    Permite que o usuário autorizado represente o logon.

  • IMPERSONATE <Usuário>

    Permite que o usuário autorizado represente o usuário.

  • CREATE <Servidor Protegível>

    Confere ao usuário autorizado a habilidade para criar o Protegível de Servidor.

  • CREATE <Database Securable>

    Confere ao usuário autorizado a habilidade de criar o Protegível de Banco de Dados.

  • CREATE <Protegível contido em esquema>

    Confere a capacidade para criar o protegível contido em esquema. Porém, a permissão ALTER no esquema é necessária para criar o protegível em um esquema específico.

  • DEFINIÇÃO DE EXIBIÇÃO

    Permite que o usuário autorizado acesse os metadados.

  • REFERENCES

    A permissão REFERENCES em uma tabela é necessária para criar uma restrição FOREIGN KEY que faça referência àquela tabela.

    A permissão REFERENCES é necessária em um objeto para criar uma FUNCTION ou VIEW com a cláusula WITH SCHEMABINDING que faz referência àquele objeto.

Gráfico de permissões do SQL Server

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 Pôster de Permissões do Mecanismo de Banco de Dados em tamanho completo no formato PDF.

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

Permissões aplicáveis a protegíveis específicos

A tabela a seguir lista classes principais de permissões e os tipos de protegíveis aos quais elas podem ser aplicadas.

Permission Aplica-se a
ALTER Todas as classes de objetos, exceto TYPE.
CONTROL Todas as classes de objetos:

AGGREGATE,
FUNÇÃO DE APLICATIVO,
ASSEMBLY,
CHAVE ASSIMÉTRICA,
GRUPO DE DISPONIBILIDADE,
CERTIFICATE,
CONTRACT,
CREDENTIALS,
DATABASE,
CREDENCIAL DE ESCOPO DE BANCO DE DADOS
DEFAULT,
ENDPOINT,
CATÁLOGO DE TEXTO COMPLETO
FULLTEXT STOPLIST,
FUNCTION,
LOGIN,
TIPO DE MENSAGEM,
PROCEDURE,
QUEUE,
VINCULAÇÃO DE SERVIÇO REMOTO
ROLE,
ROUTE,
RULE,
SCHEMA,
LISTA DE PROPRIEDADES DE PESQUISA,
SERVER,
FUNÇÃO DE SERVIDOR,
SERVICE,
CHAVE SIMÉTRICA,
SYNONYM,
TABLE,
TYPE,
USER,
VISUALIZAR e
COLEÇÃO DE ESQUEMAS XML
DELETE Todas as classes de objetos, exceto DATABASE SCOPED CONFIGURATION, SERVER e TYPE.
EXECUTE Tipos de CLR, scripts externos, procedimentos (Transact-SQL e CLR), funções escalares e de agregação (Transact-SQL e CLR) e sinônimos
IMPERSONATE Logons e usuários
INSERT Sinônimos, tabelas e colunas, exibições e colunas. A permissão pode ser concedida em nível de banco de dados, de esquema ou de objeto.
RECEIVE Filas do Service Broker
REFERENCES AGGREGATE,
ASSEMBLY,
CHAVE ASSIMÉTRICA,
CERTIFICATE,
CONTRACT,
CREDENTIAL (aplica-se a SQL Server 2022 (16.x) e versões posteriores),
DATABASE,
CREDENCIAL DE ESCOPO DE BANCO DE DADOS
CATÁLOGO DE TEXTO COMPLETO
Lista de Parada de Texto Completo
FUNCTION,
TIPO DE MENSAGEM,
PROCEDURE,
QUEUE,
RULE,
SCHEMA,
LISTA DE PROPRIEDADES DE PESQUISA,
OBJETO SEQUENCE,
CHAVE SIMÉTRICA,
TABLE,
TYPE,
VISUALIZAR e
COLEÇÃO DE ESQUEMAS XML
SELECT Sinônimos, tabelas e colunas, exibições e colunas. A permissão pode ser concedida em nível de banco de dados, de esquema ou de objeto.
ASSUMA A RESPONSABILIDADE Todas as classes de objetos, exceto DATABASE SCOPED CONFIGURATION, LOGIN, SERVER e USER.
UPDATE Sinônimos, tabelas e colunas, exibições e colunas. A permissão pode ser concedida em nível de banco de dados, de esquema ou de objeto.
EXIBIR CONTROLE DE ALTERAÇÕES Esquemas e tabelas
DEFINIÇÃO DE EXIBIÇÃO Todas as classes de objetos, exceto DATABASE SCOPED CONFIGURATION e SERVER.

Caution

As permissões padrão concedidas aos objetos de sistema no momento da instalação são avaliadas cuidadosamente contra possíveis ameaças e não precisam ser alteradas como parte do sistema de proteção de instalação do SQL Server. Qualquer alteração nas permissões nos objetos de sistema poderia limitar ou interromper a funcionalidade e potencialmente pode deixar a instalação do SQL Server em um estado sem suporte.

Permissões do SQL Server

A tabela a seguir fornece uma lista completa de permissões do SQL Server. As permissões do Banco de Dados SQL do Azure estão disponíveis apenas para protegíveis com suporte. Não é possível dar permissões no nível do servidor no Banco de Dados SQL do Azure, no entanto, permissões de banco de dados são disponibilizadas em alguns casos.

Base protegível Permissões granulares no protegível base Código do tipo de permissão Protegível que contém o protegível base Permissão no protegível de contêiner que implica permissão granular no protegível base
FUNÇÃO DE APLICATIVO ALTER AL DATABASE ALTERAR QUALQUER FUNÇÃO DE APLICAÇÃO
FUNÇÃO DE APLICATIVO CONTROL CL DATABASE CONTROL
FUNÇÃO DE APLICATIVO DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
ASSEMBLY ALTER AL DATABASE ALTERAR QUALQUER ASSEMBLAGEM
ASSEMBLY CONTROL CL DATABASE CONTROL
ASSEMBLY REFERENCES RF DATABASE REFERENCES
ASSEMBLY ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
ASSEMBLY DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
CHAVE ASSIMÉTRICA ALTER AL DATABASE ALTER ANY CHAVE ASSIMÉTRICA
CHAVE ASSIMÉTRICA CONTROL CL DATABASE CONTROL
CHAVE ASSIMÉTRICA REFERENCES RF DATABASE REFERENCES
CHAVE ASSIMÉTRICA ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
CHAVE ASSIMÉTRICA DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
Grupo de Disponibilidade ALTER AL SERVER ALTERAR QUALQUER GRUPO DE DISPONIBILIDADE
Grupo de Disponibilidade CONTROL CL SERVER SERVIDOR DE CONTROLE
Grupo de Disponibilidade ASSUMA A RESPONSABILIDADE TO SERVER SERVIDOR DE CONTROLE
Grupo de Disponibilidade DEFINIÇÃO DE EXIBIÇÃO VW SERVER VISUALIZAR QUALQUER DEFINIÇÃO
CERTIFICATE ALTER AL DATABASE ALTERAR QUALQUER CERTIFICADO
CERTIFICATE CONTROL CL DATABASE CONTROL
CERTIFICATE REFERENCES RF DATABASE REFERENCES
CERTIFICATE ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
CERTIFICATE DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
CONTRACT ALTER AL DATABASE ALTERAR QUALQUER CONTRATO
CONTRACT CONTROL CL DATABASE CONTROL
CONTRACT REFERENCES RF DATABASE REFERENCES
CONTRACT ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
CONTRACT DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
CREDENTIAL CONTROL CL SERVER SERVIDOR DE CONTROLE
CREDENTIAL REFERENCES RF SERVER ALTERAR QUALQUER CREDENCIAL
DATABASE ADMINISTRAR OPERAÇÕES EM LOTE DO BANCO DE DADOS DABO SERVER SERVIDOR DE CONTROLE
DATABASE ALTER AL SERVER ALTERAR QUALQUER BANCO DE DADOS
DATABASE ALTERAR QUALQUER FUNÇÃO DE APLICAÇÃO ALAR SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER ASSEMBLAGEM ALAS SERVER SERVIDOR DE CONTROLE
DATABASE ALTER ANY CHAVE ASSIMÉTRICA ALAK SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER CERTIFICADO ALCF SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER CHAVE DE ENCRIPTAÇÃO DE COLUNA ALCK

Aplica-se a SQL Server (SQL Server 2016 (13.x) até a versão atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER CHAVE MESTRA DA COLUNA ALCM

Aplica-se a SQL Server (SQL Server 2016 (13.x) até a versão atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER CONTRATO ALSC SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER AUDITORIA DE BANCO DE DADOS ALDA SERVER ALTERAR QUALQUER AUDITORIA DO SERVIDOR
DATABASE ALTER TRIGGER DDL EM QUALQUER BANCO DE DADOS ALTG SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO DE BANCO DE DADOS ALED SERVER ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO
DATABASE ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS AADS SERVER ALTERAR QUALQUER SESSÃO DE EVENTO
DATABASE ALTERAR QUALQUER SESSÃO DE EVENTOS DE BANCO DE DADOS PARA ADICIONAR EVENTO LDAE SERVER ALTERAR QUALQUER SESSÃO DE EVENTO ADICIONAR EVENTO
DATABASE ALTER ANY DATABASE: ALTERAR QUALQUER BASE DE DADOS EVENT SESSION: SESSÃO DE EVENTO ADD TARGET: ADICIONAR ALVO LDAT SERVER ALTERAR QUALQUER SESSÃO DE EVENTO ADICIONAR DESTINO
DATABASE ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS DESABILITAR DDES SERVER ALTERAR QUALQUER SESSÃO DE EVENTO DESABILITAR
DATABASE ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS DESCARTAR EVENTO LDDE SERVER ALTERAR QUALQUER SESSÃO DE EVENTO DESCARTAR EVENTO
DATABASE ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS EXCLUIR ALVO LDDT SERVER ALTERAR QUALQUER SESSÃO DE EVENTO DESCARTAR DESTINO
DATABASE ALTERAR QUALQUER SESSÃO DE EVENTO DO BANCO DE DADOS PARA ATIVAR EDES SERVER ALTERAR QUALQUER SESSÃO DE EVENTO ATIVAR
DATABASE ALTERAR QUALQUER OPÇÃO DE SESSÃO DE EVENTO DO BANCO DE DADOS LDSO SERVER ALTERAR QUALQUER OPÇÃO DE SESSÃO DE EVENTO
DATABASE ALTERAR QUALQUER CONFIGURAÇÃO DE ESCOPO DE BANCO DE DADOS ALDC

Aplica-se a SQL Server (SQL Server 2016 (13.x) até a versão atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER ESPAÇO DE DADOS ALDS SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER FONTE DE DADOS EXTERNA AEDS SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER FORMATO DE ARQUIVO EXTERNO AEFF SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER TRABALHO EXTERNO AESJ SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER LINGUAGEM EXTERNA ALLA SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER BIBLIOTECA EXTERNA ALEL SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER STREAM EXTERNO AEST SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER CATÁLOGO DE TEXTO COMPLETO ALFT SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER MÁSCARA AAMK

Aplica-se a SQL Server (SQL Server 2016 (13.x) até a versão atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER TIPO DE MENSAGEM ALMT SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER VINCULAÇÃO DE SERVIÇO REMOTO ALSB SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER FUNÇÃO ALRL SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER ROTA ALRT SERVER SERVIDOR DE CONTROLE
DATABASE ALTER ANY SCHEMA (Modificar qualquer esquema) ALSM SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER POLÍTICA DE SEGURANÇA ALSP

Aplica-se a SQL Server (SQL Server 2016 (13.x) até a versão atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER CLASSIFICAÇÃO DE SENSIBILIDADE AASC
Aplica-se a SQL Server (SQL Server 2019 (15.x) até a versão atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER SERVIÇO ALSV SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER CHAVE SIMÉTRICA ALSK SERVER SERVIDOR DE CONTROLE
DATABASE ALTERAR QUALQUER USUÁRIO ALUS SERVER SERVIDOR DE CONTROLE
DATABASE ALTER LEDGER ALR SERVER CONTROL
DATABASE ALTERAR CONFIGURAÇÃO DO REGISTRO ALC SERVER SERVIDOR DE CONTROLE
DATABASE AUTHENTICATE AUTH SERVER AUTENTICAR SERVIDOR
DATABASE FAZER BACKUP DO BANCO DE DADOS BADB SERVER SERVIDOR DE CONTROLE
DATABASE BACKUP LOG BALO SERVER SERVIDOR DE CONTROLE
DATABASE CHECKPOINT CP SERVER SERVIDOR DE CONTROLE
DATABASE CONNECT CO SERVER SERVIDOR DE CONTROLE
DATABASE REPLICAÇÃO DE CONEXÃO CORP SERVER SERVIDOR DE CONTROLE
DATABASE CONTROL CL SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR AGREGAÇÃO CRAG SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS CRDS SERVER CRIAR QUALQUER SESSÃO DE EVENTO
DATABASE CRIAR ASSEMBLY CRAS SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR CHAVE ASSIMÉTRICA CRAK SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR CERTIFICADO CRCF SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR CONTRATO CRSC SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR BANCO DE DADOS CRDB SERVER CRIAR QUALQUER BANCO DE DADOS
DATABASE CRIAR NOTIFICAÇÃO DE EVENTO DDL DE BANCO DE DADOS CRED SERVER CRIAR NOTIFICAÇÃO DE EVENTO DDL
DATABASE CRIAR PADRÃO CRDF SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR IDIOMA EXTERNO CRLA SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR BIBLIOTECA EXTERNA CREL SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR CATÁLOGO DE TEXTO COMPLETO CRFT SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR FUNÇÃO CRFN SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR TIPO DE MENSAGEM CRMT SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR PROCEDIMENTO CRPR SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR FILA CRQU SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR VINCULAÇÃO DE SERVIÇO REMOTO CRSB SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR PAPEL CRRL SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR ROTA CRRT SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR REGRA CRRU SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR ESQUEMA CRSM SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR SERVIÇO CRSV SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR CHAVE SIMÉTRICA CRSK SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR SINÔNIMO CRSN SERVER SERVIDOR DE CONTROLE
DATABASE CREATE TABLE CRTB SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR TIPO CRTY SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR USUÁRIO CUSR SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR VISÃO CRVW SERVER SERVIDOR DE CONTROLE
DATABASE CRIAR COLEÇÃO DE ESQUEMA XML CRXS SERVER SERVIDOR DE CONTROLE
DATABASE DELETE DL SERVER SERVIDOR DE CONTROLE
DATABASE DESCARTAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS DRDS SERVER DESCARTAR QUALQUER SESSÃO DE EVENTO
DATABASE HABILITAR RAZÃO EL SERVER CONTROL
DATABASE EXECUTE EX SERVER SERVIDOR DE CONTROLE
DATABASE EXECUTAR QUALQUER PONTO DE EXTREMIDADE EXTERNO EAEE SERVER SERVIDOR DE CONTROLE
DATABASE EXECUTAR QUALQUER SCRIPT EXTERNO EAES

Aplica-se a SQL Server (SQL Server 2016 (13.x) até a versão atual)
SERVER SERVIDOR DE CONTROLE
DATABASE INSERT IN SERVER SERVIDOR DE CONTROLE
DATABASE ENCERRAR CONEXÃO DE BANCO DE DADOS KIDC

Aplica-se apenas ao Banco de Dados SQL do Azure. Usar ALTER ANY CONNECTION no SQL Server.
SERVER Alterar Qualquer Conexão
DATABASE REFERENCES RF SERVER SERVIDOR DE CONTROLE
DATABASE SELECT SL SERVER SERVIDOR DE CONTROLE
DATABASE SHOWPLAN SPLN SERVER ALTER TRACE
DATABASE ASSINAR NOTIFICAÇÕES DE CONSULTA SUQN SERVER SERVIDOR DE CONTROLE
DATABASE ASSUMA A RESPONSABILIDADE TO SERVER SERVIDOR DE CONTROLE
DATABASE UNMASK UMSK

Aplica-se a SQL Server (SQL Server 2016 (13.x) até a versão atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLE
DATABASE UPDATE UP SERVER SERVIDOR DE CONTROLE
DATABASE EXIBIR QUALQUER DEFINIÇÃO DE CHAVE DE CRIPTOGRAFIA DE COLUNA VWCK

Aplica-se a SQL Server (SQL Server 2016 (13.x) até a versão atual), Banco de Dados SQL do Azure.
SERVER Visualizar Estado do Servidor
DATABASE EXIBIR QUALQUER DEFINIÇÃO DE CHAVE MESTRA DE COLUNA VWCM

Aplica-se a SQL Server (SQL Server 2016 (13.x) até a versão atual), Banco de Dados SQL do Azure.
SERVER Visualizar Estado do Servidor
DATABASE EXIBIR QUALQUER CLASSIFICAÇÃO DE CONFIDENCIALIDADE VASC SERVER SERVIDOR DE CONTROLE
DATABASE EXIBIR DEFINIÇÃO PROTEGIDA CRIPTOGRAFICAMENTE VCD SERVER EXIBIR QUALQUER DEFINIÇÃO PROTEGIDA CRIPTOGRAFICAMENTE
DATABASE EXIBIR O ESTADO DE DESEMPENHO DO BANCO DE DADOS VDP SERVER EXIBIR O ESTADO DE DESEMPENHO DO SERVIDOR
DATABASE EXIBIR AUDITORIA DE SEGURANÇA DO BANCO DE DADOS VDSA SERVER SERVIDOR DE CONTROLE
DATABASE EXIBIR O ESTADO DE SEGURANÇA DO BANCO DE DADOS VDS SERVER EXIBIR O ESTADO DE SEGURANÇA DO SERVIDOR
DATABASE EXIBIR ESTADO DO BANCO DE DADOS VWDS SERVER Visualizar Estado do Servidor
DATABASE DEFINIÇÃO DE EXIBIÇÃO VW SERVER VISUALIZAR QUALQUER DEFINIÇÃO
DATABASE EXIBIR CONTEÚDO DO LIVRO RAZÃO VLC SERVER CONTROL
DATABASE EXIBIR DEFINIÇÃO DE SEGURANÇA VWS SERVER EXIBIR QUALQUER DEFINIÇÃO DE SEGURANÇA
DATABASE EXIBIR DEFINIÇÃO DE DESEMPENHO VWP SERVER EXIBIR QUALQUER DEFINIÇÃO DE DESEMPENHO
CREDENCIAL NO ESCOPO DO BANCO DE DADOS ALTER AL DATABASE CONTROL
CREDENCIAL NO ESCOPO DO BANCO DE DADOS CONTROL CL DATABASE CONTROL
CREDENCIAL NO ESCOPO DO BANCO DE DADOS REFERENCES RF DATABASE REFERENCES
CREDENCIAL NO ESCOPO DO BANCO DE DADOS ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
CREDENCIAL NO ESCOPO DO BANCO DE DADOS DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
ENDPOINT ALTER AL SERVER ALTERAR QUALQUER PONTO DE EXTREMIDADE
ENDPOINT CONNECT CO SERVER SERVIDOR DE CONTROLE
ENDPOINT CONTROL CL SERVER SERVIDOR DE CONTROLE
ENDPOINT ASSUMA A RESPONSABILIDADE TO SERVER SERVIDOR DE CONTROLE
ENDPOINT DEFINIÇÃO DE EXIBIÇÃO VW SERVER VISUALIZAR QUALQUER DEFINIÇÃO
CATÁLOGO FULLTEXT ALTER AL DATABASE ALTERAR QUALQUER CATÁLOGO DE TEXTO COMPLETO
CATÁLOGO FULLTEXT CONTROL CL DATABASE CONTROL
CATÁLOGO FULLTEXT REFERENCES RF DATABASE REFERENCES
CATÁLOGO FULLTEXT ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
CATÁLOGO FULLTEXT DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
Lista de palavras excluídas de pesquisa FULLTEXT ALTER AL DATABASE ALTERAR QUALQUER CATÁLOGO DE TEXTO COMPLETO
Lista de palavras excluídas de pesquisa FULLTEXT CONTROL CL DATABASE CONTROL
Lista de palavras excluídas de pesquisa FULLTEXT REFERENCES RF DATABASE REFERENCES
Lista de palavras excluídas de pesquisa FULLTEXT ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
Lista de palavras excluídas de pesquisa FULLTEXT DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
LOGIN ALTER AL SERVER ALTERAR QUALQUER LOGIN
LOGIN CONTROL CL SERVER SERVIDOR DE CONTROLE
LOGIN IMPERSONATE IM SERVER SERVIDOR DE CONTROLE
LOGIN DEFINIÇÃO DE EXIBIÇÃO VW SERVER VISUALIZAR QUALQUER DEFINIÇÃO
TIPO DE MENSAGEM ALTER AL DATABASE ALTERAR QUALQUER TIPO DE MENSAGEM
TIPO DE MENSAGEM CONTROL CL DATABASE CONTROL
TIPO DE MENSAGEM REFERENCES RF DATABASE REFERENCES
TIPO DE MENSAGEM ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
TIPO DE MENSAGEM DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
OBJECT ALTER AL SCHEMA ALTER
OBJECT CONTROL CL SCHEMA CONTROL
OBJECT DELETE DL SCHEMA DELETE
OBJECT EXECUTE EX SCHEMA EXECUTE
OBJECT INSERT IN SCHEMA INSERT
OBJECT RECEIVE RC SCHEMA CONTROL
OBJECT REFERENCES RF SCHEMA REFERENCES
OBJECT SELECT SL SCHEMA SELECT
OBJECT ASSUMA A RESPONSABILIDADE TO SCHEMA CONTROL
OBJECT UNMASK UMSK SCHEMA UNMASK
OBJECT UPDATE UP SCHEMA UPDATE
OBJECT EXIBIR CONTROLE DE ALTERAÇÕES VWCT SCHEMA EXIBIR CONTROLE DE ALTERAÇÕES
OBJECT DEFINIÇÃO DE EXIBIÇÃO VW SCHEMA DEFINIÇÃO DE EXIBIÇÃO
VINCULAÇÃO DE SERVIÇO REMOTO ALTER AL DATABASE ALTERAR QUALQUER VINCULAÇÃO DE SERVIÇO REMOTO
VINCULAÇÃO DE SERVIÇO REMOTO CONTROL CL DATABASE CONTROL
VINCULAÇÃO DE SERVIÇO REMOTO ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
VINCULAÇÃO DE SERVIÇO REMOTO DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
ROLE ALTER AL DATABASE ALTERAR QUALQUER FUNÇÃO
ROLE CONTROL CL DATABASE CONTROL
ROLE ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
ROLE DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
ROUTE ALTER AL DATABASE ALTERAR QUALQUER ROTA
ROUTE CONTROL CL DATABASE CONTROL
ROUTE ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
ROUTE DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
SCHEMA ALTER AL DATABASE ALTER ANY SCHEMA (Modificar qualquer esquema)
SCHEMA CONTROL CL DATABASE CONTROL
SCHEMA CRIAR SEQUÊNCIA CRSO DATABASE CONTROL
SCHEMA DELETE DL DATABASE DELETE
SCHEMA EXECUTE EX DATABASE EXECUTE
SCHEMA INSERT IN DATABASE INSERT
SCHEMA REFERENCES RF DATABASE REFERENCES
SCHEMA SELECT SL DATABASE SELECT
SCHEMA ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
SCHEMA UNMASK UMSK DATABASE UNMASK
SCHEMA UPDATE UP DATABASE UPDATE
SCHEMA EXIBIR CONTROLE DE ALTERAÇÕES VWCT DATABASE EXIBIR CONTROLE DE ALTERAÇÕES
SCHEMA DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
LISTA DE PROPRIEDADES DE PESQUISA ALTER AL SERVER ALTERAR QUALQUER CATÁLOGO DE TEXTO COMPLETO
LISTA DE PROPRIEDADES DE PESQUISA CONTROL CL SERVER CONTROL
LISTA DE PROPRIEDADES DE PESQUISA REFERENCES RF SERVER REFERENCES
LISTA DE PROPRIEDADES DE PESQUISA ASSUMA A RESPONSABILIDADE TO SERVER CONTROL
LISTA DE PROPRIEDADES DE PESQUISA DEFINIÇÃO DE EXIBIÇÃO VW SERVER DEFINIÇÃO DE EXIBIÇÃO
SERVER ADMINISTRAR OPERAÇÕES EM MASSA ADBO Não aplicável Não aplicável
SERVER ALTERAR QUALQUER GRUPO DE DISPONIBILIDADE ALAG Não aplicável Não aplicável
SERVER Alterar Qualquer Conexão ALCO Não aplicável Não aplicável
SERVER ALTERAR QUALQUER CREDENCIAL ALCD Não aplicável Não aplicável
SERVER ALTERAR QUALQUER BANCO DE DADOS ALDB Não aplicável Não aplicável
SERVER ALTERAR QUALQUER PONTO DE EXTREMIDADE ALHE Não aplicável Não aplicável
SERVER ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO ALES Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SESSÃO DE EVENTO AAES Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SESSÃO DE EVENTO ADICIONAR EVENTO LSAE Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SESSÃO DE EVENTO ADICIONAR DESTINO LSAT Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SESSÃO DE EVENTO DESABILITAR DES Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SESSÃO DE EVENTO DESCARTAR EVENTO LSDE Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SESSÃO DE EVENTO DESCARTAR DESTINO LSDT Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SESSÃO DE EVENTO ATIVAR EES Não aplicável Não aplicável
SERVER ALTERAR QUALQUER OPÇÃO DE SESSÃO DE EVENTO LESO Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SERVIDOR VINCULADO ALLS Não aplicável Não aplicável
SERVER ALTERAR QUALQUER LOGIN ALLG Não aplicável Não aplicável
SERVER ALTERAR QUALQUER AUDITORIA DO SERVIDOR ALAA Não aplicável Não aplicável
SERVER ALTERAR QUALQUER FUNÇÃO DE SERVIDOR ALSR Não aplicável Não aplicável
SERVER ALTERAR RECURSOS ALRS Não aplicável Não aplicável
SERVER ALTERAR ESTADO DO SERVIDOR ALSS Não aplicável Não aplicável
SERVER ALTERAR CONFIGURAÇÕES ALST Não aplicável Não aplicável
SERVER ALTER TRACE ALTR Não aplicável Não aplicável
SERVER AUTENTICAR SERVIDOR AUTH Não aplicável Não aplicável
SERVER CONECTAR QUALQUER BANCO DE DADOS CADB Não aplicável Não aplicável
SERVER CONECTAR SQL COSQ Não aplicável Não aplicável
SERVER SERVIDOR DE CONTROLE CL Não aplicável Não aplicável
SERVER CRIAR QUALQUER BANCO DE DADOS CRDB Não aplicável Não aplicável
SERVER Criar grupo de disponibilidade CRAC Não aplicável Não aplicável
SERVER CRIAR NOTIFICAÇÃO DE EVENTO DDL CRDE Não aplicável Não aplicável
SERVER CRIAR PONTO DE EXTREMIDADE CRHE Não aplicável Não aplicável
SERVER CRIAR FUNÇÃO DE SERVIDOR CRSR Não aplicável Não aplicável
SERVER CRIAR NOTIFICAÇÃO DE EVENTO DE RASTREAMENTO CRTE Não aplicável Não aplicável
SERVER MONTAGEM DE ACESSO EXTERNO XA Não aplicável Não aplicável
SERVER REPRESENTAR QUALQUER LOGON IAL Não aplicável Não aplicável
SERVER SELECIONAR TODOS OS ITENS DE SEGURANÇA DO USUÁRIO SUS Não aplicável Não aplicável
SERVER SHUTDOWN SHDN Não aplicável Não aplicável
SERVER MONTAGEM NÃO SEGURA XU Não aplicável Não aplicável
SERVER VISUALIZAR QUALQUER BANCO DE DADOS VWDB Não aplicável Não aplicável
SERVER VISUALIZAR QUALQUER DEFINIÇÃO VWAD Não aplicável Não aplicável
SERVER Visualizar Estado do Servidor VWSS Não aplicável Não aplicável
FUNÇÃO DE SERVIDOR ALTER AL SERVER ALTERAR QUALQUER FUNÇÃO DE SERVIDOR
FUNÇÃO DE SERVIDOR CONTROL CL SERVER SERVIDOR DE CONTROLE
FUNÇÃO DE SERVIDOR ASSUMA A RESPONSABILIDADE TO SERVER SERVIDOR DE CONTROLE
FUNÇÃO DE SERVIDOR DEFINIÇÃO DE EXIBIÇÃO VW SERVER VISUALIZAR QUALQUER DEFINIÇÃO
SERVICE ALTER AL DATABASE ALTERAR QUALQUER SERVIÇO
SERVICE CONTROL CL DATABASE CONTROL
SERVICE SEND SN DATABASE CONTROL
SERVICE ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
SERVICE DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
CHAVE SIMÉTRICA ALTER AL DATABASE ALTERAR QUALQUER CHAVE SIMÉTRICA
CHAVE SIMÉTRICA CONTROL CL DATABASE CONTROL
CHAVE SIMÉTRICA REFERENCES RF DATABASE REFERENCES
CHAVE SIMÉTRICA ASSUMA A RESPONSABILIDADE TO DATABASE CONTROL
CHAVE SIMÉTRICA DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
TYPE CONTROL CL SCHEMA CONTROL
TYPE EXECUTE EX SCHEMA EXECUTE
TYPE REFERENCES RF SCHEMA REFERENCES
TYPE ASSUMA A RESPONSABILIDADE TO SCHEMA CONTROL
TYPE DEFINIÇÃO DE EXIBIÇÃO VW SCHEMA DEFINIÇÃO DE EXIBIÇÃO
USER ALTER AL DATABASE ALTERAR QUALQUER USUÁRIO
USER CONTROL CL DATABASE CONTROL
USER IMPERSONATE IM DATABASE CONTROL
USER DEFINIÇÃO DE EXIBIÇÃO VW DATABASE DEFINIÇÃO DE EXIBIÇÃO
COLEÇÃO DE ESQUEMAS XML ALTER AL SCHEMA ALTER
COLEÇÃO DE ESQUEMAS XML CONTROL CL SCHEMA CONTROL
COLEÇÃO DE ESQUEMAS XML EXECUTE EX SCHEMA EXECUTE
COLEÇÃO DE ESQUEMAS XML REFERENCES RF SCHEMA REFERENCES
COLEÇÃO DE ESQUEMAS XML ASSUMA A RESPONSABILIDADE TO SCHEMA CONTROL
COLEÇÃO DE ESQUEMAS XML DEFINIÇÃO DE EXIBIÇÃO VW SCHEMA DEFINIÇÃO DE EXIBIÇÃO

Novas permissões granulares adicionadas ao SQL Server 2022

As seguintes permissões são adicionadas ao SQL Server 2022:

  • Foram adicionadas 10 novas permissões para permitir o acesso aos metadados do sistema.

  • Foram adicionadas 18 novas permissões para eventos estendidos.

  • Foram adicionadas 9 novas permissões quanto a objetos relacionados à segurança.

  • Foram adicionadas 4 permissões para Razão.

  • Mais 3 permissões de banco de dados adicionais.

Para obter mais informações, consulte Novas permissões granulares para SQL Server 2022 e SQL do Azure para melhorar a aderência com o PoLP.

Acesso a permissões de metadados do sistema

Nível do servidor:

  • EXIBIR QUALQUER DEFINIÇÃO DE SEGURANÇA
  • EXIBIR QUALQUER DEFINIÇÃO DE DESEMPENHO
  • EXIBIR O ESTADO DE SEGURANÇA DO SERVIDOR
  • EXIBIR O ESTADO DE DESEMPENHO DO SERVIDOR
  • EXIBIR QUALQUER DEFINIÇÃO PROTEGIDA CRIPTOGRAFICAMENTE

Nível do banco de dados:

  • EXIBIR O ESTADO DE SEGURANÇA DO BANCO DE DADOS
  • EXIBIR O ESTADO DE DESEMPENHO DO BANCO DE DADOS
  • EXIBIR DEFINIÇÃO DE SEGURANÇA
  • EXIBIR DEFINIÇÃO DE DESEMPENHO
  • EXIBIR DEFINIÇÃO PROTEGIDA CRIPTOGRAFICAMENTE

Permissões de Eventos Estendidos

Nível do servidor:

  • CRIAR QUALQUER SESSÃO DE EVENTO
  • DESCARTAR QUALQUER SESSÃO DE EVENTO
  • ALTERAR QUALQUER OPÇÃO DE SESSÃO DE EVENTO
  • ALTERAR QUALQUER SESSÃO DE EVENTO ADICIONAR EVENTO
  • ALTERAR QUALQUER SESSÃO DE EVENTO DESCARTAR EVENTO
  • ALTERAR QUALQUER SESSÃO DE EVENTO ATIVAR
  • ALTERAR QUALQUER SESSÃO DE EVENTO DESABILITAR
  • ALTERAR QUALQUER SESSÃO DE EVENTO ADICIONAR DESTINO
  • ALTERAR QUALQUER SESSÃO DE EVENTO DESCARTAR DESTINO

Todas essas permissões estão sob a mesma permissão primária: ALTER ANY EVENT SESSION

Nível do banco de dados:

  • CRIAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS
  • DESCARTAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS
  • ALTERAR QUALQUER OPÇÃO DE SESSÃO DE EVENTO DO BANCO DE DADOS
  • ALTERAR QUALQUER SESSÃO DE EVENTOS DE BANCO DE DADOS PARA ADICIONAR EVENTO
  • ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS DESCARTAR EVENTO
  • ALTERAR QUALQUER SESSÃO DE EVENTO DO BANCO DE DADOS PARA ATIVAR
  • ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS DESABILITAR
  • ALTER ANY DATABASE: ALTERAR QUALQUER BASE DE DADOS EVENT SESSION: SESSÃO DE EVENTO ADD TARGET: ADICIONAR ALVO
  • ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS EXCLUIR ALVO

Todas essas permissões estão sob a mesma permissão primária: ALTER ANY DATABASE EVENT SESSION

  • CONTROLE (CREDENCIAL)
  • CRIAR LOGIN
  • CRIAR USUÁRIO
  • REFERÊNCIAS (CREDENCIAL)
  • REVELAR (OBJETO)
  • UNMASK (SCHEMA)
  • EXIBIR QUALQUER LOG DE ERROS
  • VER AUDITORIA DE SEGURANÇA DO SERVIDOR
  • EXIBIR AUDITORIA DE SEGURANÇA DO BANCO DE DADOS

Permissões do livro-razão

  • ALTER LEDGER
  • ALTERAR CONFIGURAÇÃO DO REGISTRO
  • HABILITAR RAZÃO
  • EXIBIR CONTEÚDO DO LIVRO RAZÃO

Outras permissões do banco de dados

  • ALTERAR QUALQUER TRABALHO EXTERNO
  • ALTERAR QUALQUER STREAM EXTERNO
  • EXECUTAR QUALQUER PONTO DE EXTREMIDADE EXTERNO

Resumo do algoritmo de verificação de permissão

A verificação de permissões pode ser uma tarefa complexa. O algoritmo de verificação de permissão inclui a sobreposição de associações de grupo e o encadeamento de propriedades, as permissões explícita e implícita, e pode ser afetado pelas permissões em classes de protegíveis que contêm a entidade protegível. O processo geral do algoritmo é coletar todas as permissões pertinentes. Se nenhum bloqueio DENY for localizado, o algoritmo irá procurar uma permissão GRANT que fornece acesso suficiente. O algoritmo contém três elementos essenciais, o contexto de segurança, o espaço de permissãoe a permissão necessária.

Note

Você não pode conceder, negar ou revogar permissões parasa, dbo, o proprietário da entidade, information_schemasysou a si mesmo.

  • Contexto de segurança

    Este é o grupo de entidades que fornece permissões à verificação de acesso. Essas são as permissões relacionadas com o logon ou usuário atual, a menos que o contexto de segurança tenha sido alterado para outro logon ou usuário por meio da instrução EXECUTE AS. O contexto de segurança inclui as seguintes entidades:

    • O logon

    • O usuário

    • Associações de função

    • Associações de grupo do Windows

    • Se a assinatura de módulo estiver sendo usada, qualquer logon ou conta de usuário do certificado usado para assinar o módulo que está em execução no momento e as associações de função associadas a essa entidade.

  • Espaço de permissão

    É a entidade protegível e qualquer classe protegível que contém o protegível. Por exemplo, uma tabela (uma entidade protegível) é contida pela classe protegível de esquema e pela classe protegível de banco de dados. O acesso pode ser afetado por permissões em nível de tabela, esquema, banco de dados e servidor. Para obter mais informações, veja Hierarquia de permissões (Mecanismo de Banco de Dados).

  • Permissão necessária

    O tipo de permissão exigido. Por exemplo, INSERT, UPDATE, DELETE, SELECT, EXECUTE, ALTER, CONTROL, e assim por diante.

    O acesso pode exigir várias permissões, como as dos exemplos a seguir.

    • Um procedimento armazenado pode exigir a permissão EXECUTE no procedimento armazenado e a permissão INSERT em várias tabelas que são referenciadas pelo procedimento armazenado.

    • Uma exibição de gerenciamento dinâmico pode exibir as permissões VIEW SERVER STATE e SELECT na exibição.

Etapas gerais do algoritmo

Quando o algoritmo estiver determinando a permissão do acesso a um protegível, as etapas que ele utiliza podem variar, dependendo das entidades e dos protegíveis que estão envolvidos. No entanto, o algoritmo executa as seguintes etapas gerais:

  1. Ignorar a verificação de permissão se o logon for um membro da função de servidor fixa sysadmin ou se o usuário for o usuário dbo no banco de dados atual.

  2. Permite o acesso se o encadeamento de propriedades for aplicável e se a verificação de acesso no objeto anterior da cadeia tiver passado pela verificação de segurança.

  3. Agrega as identidades em nível de servidor e de banco de dados e as identidades do módulo assinado associadas ao chamador para criar o contexto de segurança.

  4. Para esse contexto de segurança, reúna todas as permissões concedidas ou negadas ao espaço de permissão. A permissão pode ser declarada explicitamente como GRANT, GRANT WITH GRANT ou DENY; ou as permissões podem ser implícitas ou de cobertura GRANT ou DENY. Por exemplo, a permissão CONTROL em um esquema implica CONTROL em uma tabela. E CONTROL em uma tabela implica SELECT. Portanto, se CONTROL foi concedida no esquema, SELECT será concedida na tabela. Se CONTROL foi negada na tabela, SELECT será negada na tabela.

    Note

    Uma permissão GRANT no nível de coluna substitui DENY no nível de objeto. Para obter mais informações, consulte Permissões de objeto DENY.

  5. Identifica a permissão necessária.

  6. Falha ao executar a verificação de permissão se a permissão necessária for direta ou implicitamente negada a quaisquer das identidades contidas no contexto de segurança para os objetos do espaço de permissão.

  7. Executa a verificação de permissão se a permissão necessária não tiver sido negada e a permissão necessária contiver uma permissão GRANT ou GRANT WITH GRANT direta ou implicitamente para quaisquer das identidades contidas no contexto de segurança para qualquer objeto do espaço de permissão.

Considerações especiais para permissões no nível da coluna

Permissões em nível de coluna são concedidas com a sintaxe <table_name>(<column _name>). Por exemplo:

GRANT SELECT ON OBJECT::Customer(CustomerName) TO UserJoe;

DENY na tabela é substituído por GRANT em uma coluna. No entanto, um DENY posterior na tabela removerá a coluna GRANT.

Examples

Os exemplos nesta seção mostram como recuperar informações sobre permissões.

A. Retornar a lista completa de permissões que podem ser concedidas

A instrução a seguir retorna todas as permissões de mecanismo de banco de dados usando a função fn_builtin_permissions. Para obter mais informações, consulte sys.fn_builtin_permissions.

SELECT * FROM fn_builtin_permissions(default);
GO

B. Retornar permissões em uma classe específica de objetos

O exemplo a seguir usa fn_builtin_permissions para exibir todas as permissões que estão disponíveis para uma categoria de protegível. O exemplo retorna permissões em assemblies.

SELECT * FROM fn_builtin_permissions('assembly');
GO

C. Retornar as permissões concedidas à entidade de segurança em execução em um objeto

O exemplo a seguir usa fn_my_permissions para retornar uma lista das permissões efetivas mantidas pela entidade de chamada em um protegível especificado. O exemplo retorna permissões em um objeto denominado Orders55. Para obter mais informações, consulte sys.fn_my_permissions.

SELECT * FROM fn_my_permissions('Orders55', 'object');
GO

D. Retornar permissões aplicáveis a um objeto especificado

O exemplo a seguir retorna permissões aplicáveis a um objeto denominado Yttrium. Observe que a função interna OBJECT_ID é usada para recuperar o ID do objeto Yttrium.

SELECT * FROM sys.database_permissions
    WHERE major_id = OBJECT_ID('Yttrium');
GO