Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Concede permissões em um banco de dados no SQL Server.
Transact-SQL convenções de sintaxe
Syntax
GRANT <permission> [ ,...n ]
TO <database_principal> [ ,...n ] [ WITH GRANT OPTION ]
[ AS <database_principal> ]
<permission>::=
permission | ALL [ PRIVILEGES ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Arguments
permissão Especifica uma permissão que pode ser concedida em um banco de dados. Para obter uma lista das permissões, consulte a seção Comentários mais adiante neste tópico.
ALL Esta opção não concede todas as permissões possíveis. Conceder ALL equivale a conceder as seguintes permissões: BACKUP DATABASE, BACKUP LOG, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE e CREATE VIEW.
PRIVILÉGIOS Incluídos para conformidade com ANSI-92. Não altera o comportamento da ALL.
COM OPÇÃO DE CONCESSÃO Indica que o principal também terá a capacidade de conceder a permissão especificada a outros comitentes.
AS <database_principal> Especifica uma entidade da qual a entidade de segurança que executa esta consulta deriva seu direito de conceder a permissão.
Database_user Especifica um usuário de banco de dados.
Database_role Especifica uma função de banco de dados.
Application_roleAplica-se a: SQL Server 2008 (10.0.x) e posterior, Banco de dados SQL
Especifica uma função de aplicativo.
Database_user_mapped_to_Windows_UserAplica-se a: SQL Server 2008 (10.0.x) e posterior
Especifica um usuário de banco de dados mapeado para um usuário do Windows.
Database_user_mapped_to_Windows_GroupAplica-se a: SQL Server 2008 (10.0.x) e posterior
Especifica um usuário de banco de dados mapeado para um grupo do Windows.
Database_user_mapped_to_certificateAplica-se a: SQL Server 2008 (10.0.x) e posterior
Especifica um usuário de banco de dados mapeado para um certificado.
Database_user_mapped_to_asymmetric_keyAplica-se a: SQL Server 2008 (10.0.x) e posterior
Especifica um usuário de banco de dados mapeado para uma chave assimétrica.
Database_user_with_no_login Especifica um usuário de banco de dados sem entidade de segurança correspondente no nível do servidor.
Remarks
Important
Uma combinação de permissões ALTER e REFERENCE em alguns casos pode permitir que o beneficiário visualize dados ou execute funções não autorizadas. Por exemplo: Um usuário com permissão ALTER em uma tabela e permissão REFERENCE em uma função pode criar uma coluna computada sobre uma função e executá-la. Nesse caso, o usuário também deve ter a permissão SELECT na coluna computada.
Um banco de dados é um protegível contido pelo servidor que é seu pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser concedidas em um banco de dados estão listadas na tabela a seguir, juntamente com as permissões mais gerais que as incluem por implicação.
| Permissão de base de dados | Implícito pela permissão do banco de dados | Implícito pela permissão do servidor |
|---|---|---|
| ADMINISTRAR OPERAÇÕES EM MASSA NA BASE DE DADOS Aplica-se a: Banco de dados SQL. |
CONTROL | SERVIDOR DE CONTROLO |
| ALTER | CONTROL | ALTERAR QUALQUER BASE DE DADOS |
| ALTERAR QUALQUER FUNÇÃO DE APLICATIVO | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER MONTAGEM | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER CHAVE ASSIMÉTRICA | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER CERTIFICADO | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER CHAVE DE ENCRIPTAÇÃO DE COLUNA | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER DEFINIÇÃO DE CHAVE MESTRA DE COLUNA | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER CONTRATO | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER AUDITORIA DE BASE DE DADOS | ALTER | ALTERAR QUALQUER AUDITORIA DE SERVIDOR |
| ALTERAR QUALQUER GATILHO DDL DE BANCO DE DADOS | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO DO BANCO DE DADOS | ALTER | ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO |
| ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS Aplica-se a: Banco de dados SQL. |
ALTER | ALTERAR QUALQUER SESSÃO DE EVENTO |
| ALTERAR QUALQUER CONFIGURAÇÃO DE ÁREA DE BANCO DE DADOS Aplica-se a: SQL Server 2016 (13.x) e posterior, Banco de dados SQL. |
CONTROL | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER ESPAÇO DE DADOS | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER FONTE DE DADOS EXTERNA | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER FORMATO DE ARQUIVO EXTERNO | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER BIBLIOTECA EXTERNA Aplica-se a: SQL Server 2017 (14.x). |
CONTROL | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER CATÁLOGO DE TEXTO COMPLETO | ALTER | SERVIDOR DE CONTROLO |
| ALTERE QUALQUER MÁSCARA | CONTROL | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER TIPO DE MENSAGEM | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER LIGAÇÃO DE SERVIÇO REMOTO | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER FUNÇÃO | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER ROTA | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER ESQUEMA | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER POLÍTICA DE SEGURANÇA Aplica-se a: Banco de Dados SQL do Azure. |
CONTROL | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER CLASSIFICAÇÃO DE SENSIBILIDADE Aplica-se a: SQL Server (SQL Server 2019 e posterior), Banco de Dados SQL do Azure. |
CONTROL | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER SERVIÇO | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR QUALQUER CHAVE SIMÉTRICA | ALTER | SERVIDOR DE CONTROLO |
| ALTERAR TODOS OS UTILIZADORES | ALTER | SERVIDOR DE CONTROLO |
| AUTHENTICATE | CONTROL | AUTENTICAR SERVIDOR |
| BANCO DE DADOS DE BACKUP | CONTROL | SERVIDOR DE CONTROLO |
| REGISTO DE CÓPIA DE SEGURANÇA | CONTROL | SERVIDOR DE CONTROLO |
| CHECKPOINT | CONTROL | SERVIDOR DE CONTROLO |
| CONNECT | REPLICAÇÃO CONNECT | SERVIDOR DE CONTROLO |
| REPLICAÇÃO CONNECT | CONTROL | SERVIDOR DE CONTROLO |
| CONTROL | CONTROL | SERVIDOR DE CONTROLO |
| CRIAR AGREGAÇÃO | ALTER | SERVIDOR DE CONTROLO |
| CRIE QUALQUER BIBLIOTECA EXTERNA Aplica-se a: SQL Server 2017 (14.x). |
CONTROL | SERVIDOR DE CONTROLO |
| CRIAR ASSEMBLY | ALTERAR QUALQUER MONTAGEM | SERVIDOR DE CONTROLO |
| CRIAR CHAVE ASSIMÉTRICA | ALTERAR QUALQUER CHAVE ASSIMÉTRICA | SERVIDOR DE CONTROLO |
| CRIAR CERTIFICADO | ALTERAR QUALQUER CERTIFICADO | SERVIDOR DE CONTROLO |
| CRIAR CONTRATO | ALTERAR QUALQUER CONTRATO | SERVIDOR DE CONTROLO |
| CRIAR BASE DE DADOS | CONTROL | CRIAR QUALQUER BASE DE DADOS |
| CRIAR NOTIFICAÇÃO DE EVENTO DDL DO BANCO DE DADOS | ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO DO BANCO DE DADOS | CRIAR NOTIFICAÇÃO DE EVENTO DDL |
| CRIAR PADRÃO | ALTER | SERVIDOR DE CONTROLO |
| CRIAR CATÁLOGO DE TEXTO COMPLETO | ALTERAR QUALQUER CATÁLOGO DE TEXTO COMPLETO | SERVIDOR DE CONTROLO |
| CRIAR FUNÇÃO | ALTER | SERVIDOR DE CONTROLO |
| CRIAR TIPO DE MENSAGEM | ALTERAR QUALQUER TIPO DE MENSAGEM | SERVIDOR DE CONTROLO |
| CRIAR PROCEDIMENTO | ALTER | SERVIDOR DE CONTROLO |
| CRIAR FILA | ALTER | SERVIDOR DE CONTROLO |
| CRIAR VINCULAÇÃO DE SERVIÇO REMOTO | ALTERAR QUALQUER LIGAÇÃO DE SERVIÇO REMOTO | SERVIDOR DE CONTROLO |
| CRIAR PAPEL | ALTERAR QUALQUER FUNÇÃO | SERVIDOR DE CONTROLO |
| CRIAR ROTA | ALTERAR QUALQUER ROTA | SERVIDOR DE CONTROLO |
| CRIAR REGRA | ALTER | SERVIDOR DE CONTROLO |
| CRIAR ESQUEMA | ALTERAR QUALQUER ESQUEMA | SERVIDOR DE CONTROLO |
| CRIAR SERVIÇO | ALTERAR QUALQUER SERVIÇO | SERVIDOR DE CONTROLO |
| CRIAR CHAVE SIMÉTRICA | ALTERAR QUALQUER CHAVE SIMÉTRICA | SERVIDOR DE CONTROLO |
| CRIAR SINÓNIMO | ALTER | SERVIDOR DE CONTROLO |
| CREATE TABLE | ALTER | SERVIDOR DE CONTROLO |
| CRIAR TIPO | ALTER | SERVIDOR DE CONTROLO |
| CRIAÇÃO DE VISÃO | ALTER | SERVIDOR DE CONTROLO |
| CRIAR COLEÇÃO DE ESQUEMA XML | ALTER | SERVIDOR DE CONTROLO |
| DELETE | CONTROL | SERVIDOR DE CONTROLO |
| EXECUTE | CONTROL | SERVIDOR DE CONTROLO |
| EXECUTE QUALQUER PONTO DE EXTREMIDADE EXTERNO Aplica-se a: Banco de Dados SQL do Azure. |
CONTROL | SERVIDOR DE CONTROLO |
| EXECUTE QUALQUER SCRIPT EXTERNO Aplica-se a: SQL Server 2016 (13.x). |
CONTROL | SERVIDOR DE CONTROLO |
| EXECUTAR SCRIPT EXTERNO Aplica-se ao: SQL Server 2019 (15.x). |
EXECUTE QUALQUER SCRIPT EXTERNO | SERVIDOR DE CONTROLO |
| INSERT | CONTROL | SERVIDOR DE CONTROLO |
| TERMINAR CONEXÃO DE BASE DE DADOS Aplica-se a: Banco de Dados SQL do Azure. |
CONTROL | ALTERAR QUALQUER LIGAÇÃO |
| REFERENCES | CONTROL | SERVIDOR DE CONTROLO |
| SELECT | CONTROL | SERVIDOR DE CONTROLO |
| SHOWPLAN | CONTROL | ALTER TRACE |
| SUBSCREVER NOTIFICAÇÕES DE CONSULTA | CONTROL | SERVIDOR DE CONTROLO |
| ASSUMIR A RESPONSABILIDADE | CONTROL | SERVIDOR DE CONTROLO |
| UNMASK | CONTROL | SERVIDOR DE CONTROLO |
| UPDATE | CONTROL | SERVIDOR DE CONTROLO |
| EXIBIR DEFINIÇÃO DE QUALQUER CHAVE DE ENCRIPTAÇÃO DE COLUNA | CONTROL | VER QUALQUER DEFINIÇÃO |
| Visualizar a Definição de Chave Mestra de Quaisquer Colunas | CONTROL | VER QUALQUER DEFINIÇÃO |
| VER ESTADO DE BASE DE DADOS | CONTROL | VER ESTADO DO SERVIDOR |
| VER DEFINIÇÃO | CONTROL | VER QUALQUER DEFINIÇÃO |
Permissions
O concedente (ou o principal especificado com a opção AS) deve ter a própria permissão com GRANT OPTION, ou uma permissão superior que implique a permissão sendo concedida.
Se você estiver usando a opção AS, os seguintes requisitos adicionais se aplicam.
| COMO granting_principal | Permissão adicional necessária |
|---|---|
| Utilizador da base de dados | Representar permissão no usuário, associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin. |
| Usuário do banco de dados mapeado para um login do Windows | Representar permissão no usuário, associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin. |
| Usuário de banco de dados mapeado para um Grupo do Windows | Associação ao grupo Windows, associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin. |
| Usuário do banco de dados mapeado para um certificado | Associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin. |
| Usuário do banco de dados mapeado para uma chave assimétrica | Associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin. |
| Usuário de banco de dados não mapeado para nenhuma entidade de servidor | Representar permissão no usuário, associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin. |
| Função de banco de dados | Permissão ALTER na função, associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin. |
| Função da aplicação | Permissão ALTER na função, associação à função de banco de dados fixa db_securityadmin, associação à função de banco de dados fixa db_owner ou associação à função de servidor fixa sysadmin. |
Os proprietários de objetos podem conceder permissões sobre os objetos que possuem. As entidades que têm permissão CONTROL em um protegível podem conceder permissão sobre esse protegível.
Os beneficiários da permissão CONTROL SERVER, como membros da função de servidor fixa sysadmin, podem conceder qualquer permissão em qualquer protegível no servidor.
Examples
A. Concedendo permissão para criar tabelas
O exemplo a seguir concede CREATE TABLE permissão no AdventureWorks banco de dados ao usuário MelanieK.
USE AdventureWorks;
GRANT CREATE TABLE TO MelanieK;
GO
B. Concedendo permissão SHOWPLAN a uma função de aplicativo
O exemplo a seguir concede SHOWPLAN permissão no banco de dados para a AdventureWorks2025 função AuditMonitorde aplicativo.
Aplica-se a: SQL Server 2008 (10.0.x) e posterior, Banco de dados SQL
USE AdventureWorks2022;
GRANT SHOWPLAN TO AuditMonitor;
GO
C. Concedendo CREATE VIEW com a opção GRANT
O exemplo a seguir concede CREATE VIEW permissão no banco de dados ao usuário AdventureWorks2025 com o direito de conceder CarmineEs a outras entidades.CREATE VIEW
USE AdventureWorks2022;
GRANT CREATE VIEW TO CarmineEs WITH GRANT OPTION;
GO
D. Concedendo permissão CONTROL a um usuário de banco de dados
O exemplo a CONTROL seguir concede AdventureWorks2025 permissão no banco de dados ao usuário Sarahdo banco de dados. O usuário deve existir no banco de dados e o contexto deve ser definido como o banco de dados.
USE AdventureWorks2022;
GRANT CONTROL ON DATABASE::AdventureWorks2022 TO Sarah;
GO