Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Instância Gerenciada de SQL do Azure
Concede permissões em um servidor.
Convenções de sintaxe de Transact-SQL
Sintaxe
GRANT permission [ ,...n ]
TO <grantee_principal> [ ,...n ] [ WITH GRANT OPTION ]
[ AS <grantor_principal> ]
<grantee_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
<grantor_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
Argumentos
permission
Especifica uma permissão que pode ser concedida em um servidor. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.
TO <grantee_principal> Especifica a entidade de segurança para a qual a permissão está sendo concedida.
AS <grantor_principal> Especifica a entidade de segurança da qual a entidade de segurança que executa essa consulta obtém seu direito de conceder a permissão.
COM GRANT OPÇÃO
Indica que o principal também terá a capacidade de conceder a permissão especificada a outros principais.
SQL_Server_login
Especifica um logon do SQL Server.
SQL_Server_login_mapped_to_Windows_login
Especifica um logon do SQL Server mapeado para um logon do Windows.
SQL_Server_login_mapped_to_Windows_group
Especifica um logon do SQL Server mapeado para um grupo do Windows.
SQL_Server_login_mapped_to_certificate
Especifica um logon do SQL Server mapeado para um certificado do Windows.
SQL_Server_login_mapped_to_asymmetric_key
Especifica um logon do SQL Server mapeado para uma chave assimétrica.
server_role
Especifica uma função de servidor definida pelo usuário.
Comentários
As permissões no escopo de servidor podem ser concedidas somente quando o banco de dados atual é mestre.
As informações sobre permissões do servidor podem ser vistas na exibição do catálogo sys.server_permissions e as informações sobre entidades de segurança do servidor podem ser vistas na exibição do catálogo sys.server_principals. As informações sobre a associação de funções de servidor podem ser vistas na exibição do catálogo sys.server_role_members.
Um servidor é o nível mais alto da hierarquia de permissões. As permissões mais específicas e limitadas que podem ser concedidas em um servidor são listadas na tabela a seguir.
| Permissões de servidor | Implícito na permissão de servidor |
|---|---|
| ADMINISTRAR OPERAÇÕES EM MASSA | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER AVAILABILITY GROUP Aplica-se a: SQL Server (SQL Server 2012 (11.x) até a versão atual). |
SERVIDOR DE CONTROLE |
| Alterar Qualquer Conexão | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER CREDENTIAL | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER DATABASE | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER ENDPOINT | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER EVENT NOTIFICATION | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER EVENT SESSION | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER SERVIDOR VINCULADO | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER LOGIN | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER SERVER AUDIT | SERVIDOR DE CONTROLE |
| ALTERAR QUALQUER SERVER ROLE Aplica-se a: SQL Server (SQL Server 2012 (11.x) até a versão atual). |
SERVIDOR DE CONTROLE |
| ALTERAR RECURSOS | SERVIDOR DE CONTROLE |
| ALTERAR ESTADO DO SERVIDOR | SERVIDOR DE CONTROLE |
| ALTERAR CONFIGURAÇÕES | SERVIDOR DE CONTROLE |
| ALTER TRACE | SERVIDOR DE CONTROLE |
| AUTENTICAR SERVIDOR | SERVIDOR DE CONTROLE |
| CONECTAR QUALQUER DATABASE Aplica-se a: SQL Server (SQL Server 2014 (12.x) até a versão atual). |
SERVIDOR DE CONTROLE |
| CONECTAR SQL | SERVIDOR DE CONTROLE |
| SERVIDOR DE CONTROLE | SERVIDOR DE CONTROLE |
| CRIAR QUALQUER DATABASE | ALTERAR QUALQUER DATABASE |
| CREATE AVAILABILITY GROUP Aplica-se a: SQL Server (SQL Server 2012 (11.x) até a versão atual). |
ALTERAR QUALQUER AVAILABILITY GROUP |
| CRIAR DDL EVENT NOTIFICATION | ALTERAR QUALQUER EVENT NOTIFICATION |
| CREATE ENDPOINT | ALTERAR QUALQUER ENDPOINT |
| CREATE LOGIN Aplica-se a : SQL Server 2022 (16.x) e versões posteriores. |
ALTERAR QUALQUER LOGIN |
| CREATE SERVER ROLE Aplica-se a: SQL Server (SQL Server 2012 (11.x) até a versão atual). |
ALTERAR QUALQUER SERVER ROLE |
| CRIAR RASTREAMENTO EVENT NOTIFICATION | ALTERAR QUALQUER EVENT NOTIFICATION |
| ACESSO EXTERNO ASSEMBLY | SERVIDOR DE CONTROLE |
| REPRESENTAR QUALQUER LOGIN Aplica-se a: SQL Server (SQL Server 2014 (12.x) até a versão atual). |
SERVIDOR DE CONTROLE |
| SELECIONAR TODOS OS USER PROTEGÍVEIS Aplica-se a: SQL Server (SQL Server 2014 (12.x) até a versão atual). |
SERVIDOR DE CONTROLE |
| SHUTDOWN | SERVIDOR DE CONTROLE |
| INSEGURO ASSEMBLY | SERVIDOR DE CONTROLE |
| VIEW QUALQUER DATABASE | VIEW QUALQUER DEFINIÇÃO |
| VIEW QUALQUER DEFINIÇÃO | SERVIDOR DE CONTROLE |
| VIEW ESTADO DO SERVIDOR | ALTERAR ESTADO DO SERVIDOR |
As três permissões de servidor a seguir foram adicionadas ao SQL Server 2014 (12.x).
CONECTE QUALQUER DATABASE Permissão
Conceda QUALQUER DATABASECONEXÃO a um login que deve se conectar a todos os bancos de dados existentes e a quaisquer novos bancos de dados que possam ser criados no futuro. Não concede nenhuma permissão em qualquer banco de dados além da conexão. Combine com SELECT ALL USER SECURABLES ou VIEW SERVER STATE para permitir que um processo de auditoria visualize todos os dados ou todos os estados do banco de dados na instância do SQL Server.
SE DIVERÇAR QUALQUER LOGIN Permissão
Quando concedida, permite que um processo de camada intermediária represente a conta de clientes que se conecta a ela, uma vez que ela se conecta aos bancos de dados. Quando negada, um logon com altos privilégios pode ser impedido de representar outros logons. Por exemplo, um logon com a permissão CONTROL SERVER pode ser impedido de representar outros logons.
SELECIONAR TODOS USER Permissão SECURABLES
Quando concedido, um logon pode exibir dados de todos os objetos de nível de esquema, como tabelas, exibições e funções com valor de tabela que residem em esquemas graváveis pelo usuário (qualquer esquema, exceto sys e INFORMATION_SCHEMA) pode ser usado para criar objetos de usuário. Essa permissão tem efeito em todos os bancos de dados aos quais o usuário pode se conectar. Quando negada, ela impede o acesso a todos os objetos, a menos que eles estejam no esquema sys ou INFORMATION_SCHEMA. Isso também tem efeito sobre a visibilidade dos metadados dos objetos cobertos confira também: Configuração de Visibilidade de Metadados.
Permissões
O autorizador (ou a entidade de segurança especificada com a opção AS) deve ter a própria permissão com GRANT OPTION ou uma permissão mais alta que implica a permissão que está sendo concedida. Membros da função de servidor fixa sysadmin podem conceder qualquer permissão.
Exemplos
a. Concedendo uma permissão a um logon
O exemplo a seguir concede a permissão CONTROL SERVER para o logon do SQL Server TerryEminhizer.
USE master;
GRANT CONTROL SERVER TO TerryEminhizer;
GO
B. Conceder uma permissão que tem GRANT permissão
O exemplo a seguir concede ALTER ANY EVENT NOTIFICATION ao logon do SQL Server JanethEsteves com o direito para conceder essa permissão a outro logon.
USE master;
GRANT ALTER ANY EVENT NOTIFICATION TO JanethEsteves WITH GRANT OPTION;
GO
C. Concedendo uma permissão a uma função de servidor
O exemplo abaixo cria uma função de servidor chamada ITDevelopers. Ele concede a ALTER ANY DATABASE permissão para a ITDevelopers função de servidor.
USE master;
CREATE SERVER ROLE ITDevelopers ;
GRANT ALTER ANY DATABASE TO ITDevelopers ;
GO
Consulte Também
GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY Permissões de servidor (Transact-SQL)
REVOKE Permissões de servidor (Transact-SQL)
Hierarquia de permissões (Mecanismo de Banco de Dados)
Entidades (Mecanismo de Banco de Dados)
Permissões (Mecanismo de Banco de Dados)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)