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 usuário de banco de dados, função de banco de dados ou função de aplicativo no SQL Server.
Transact-SQL convenções de sintaxe
Syntax
GRANT permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
<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
permission
Especifica uma permissão que pode ser concedida na entidade de banco de dados. Para obter uma lista das permissões, consulte a seção Comentários mais adiante neste tópico.
UTILIZADOR ::database_user
Especifica a classe e o nome do usuário no qual a permissão está sendo concedida. O qualificador de escopo (::) é obrigatório.
PAPEL ::database_role
Especifica a classe e o nome da função na qual a permissão está sendo concedida. O qualificador de escopo (::) é obrigatório.
FUNÇÃO DO APLICATIVO ::application_role
Especifica a classe e o nome da função do aplicativo na qual a permissão está sendo concedida. O qualificador de escopo (::) é obrigatório.
COM OPÇÃO DE SUBVENÇÃO
Indica que a entidade de segurança também terá a capacidade de conceder a permissão especificada a outras entidades de segurança.
COMO database_principal <>
Especifica uma entidade da qual a entidade 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_role
Aplica-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_User
Especifica um usuário de banco de dados mapeado para um usuário do Windows.
Database_user_mapped_to_Windows_Group
Especifica um usuário de banco de dados mapeado para um grupo do Windows.
Database_user_mapped_to_certificate
Especifica um usuário de banco de dados mapeado para um certificado.
Database_user_mapped_to_asymmetric_key
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
As informações sobre entidades de banco de dados são visíveis na exibição de catálogo sys.database_principals . As informações sobre permissões no nível do banco de dados são visíveis na exibição de catálogo sys.database_permissions .
Permissões de usuário do banco de dados
Um usuário de banco de dados é um protegível no nível de banco de dados contido pelo banco de dados que é seu pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser concedidas em um usuário de 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 usuário do banco de dados | Implícito pela permissão do usuário do banco de dados | Implícito pela permissão do banco de dados |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| IMPERSONATE | CONTROL | CONTROL |
| ALTER | CONTROL | ALTERAR TODOS OS UTILIZADORES |
| VER DEFINIÇÃO | CONTROL | VER DEFINIÇÃO |
Permissões de função de banco de dados
Uma função de banco de dados é uma proteção no nível de banco de dados contida pelo banco de dados que é seu pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser concedidas em uma função de 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 função de banco de dados | Implícito pela permissão de função de banco de dados | Implícito pela permissão do banco de dados |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ASSUMIR A RESPONSABILIDADE | CONTROL | CONTROL |
| ALTER | CONTROL | ALTERAR QUALQUER FUNÇÃO |
| VER DEFINIÇÃO | CONTROL | VER DEFINIÇÃO |
Permissões de função de aplicativo
Uma função de aplicativo é uma proteção no nível de banco de dados contida pelo banco de dados que é seu pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser concedidas em uma função de aplicativo estão listadas a seguir, juntamente com as permissões mais gerais que as incluem por implicação.
| Permissão de função de aplicativo | Implícito pela permissão de função do aplicativo | Implícito pela permissão do banco de dados |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ALTER | CONTROL | ALTERAR QUALQUER FUNÇÃO DE APLICATIVO |
| VER DEFINIÇÃO | CONTROL | VER 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 usuário 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 db_securityadminfixed, 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 db_securityadminfixed, 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. |
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 em um banco de dados, como membros da função de banco de dados fixa db_owner, podem conceder qualquer permissão em qualquer protegível no banco de dados.
Examples
A. Concedendo permissão CONTROL em um usuário para outro usuário
O exemplo a seguir concede CONTROL permissão de AdventureWorks2025 usuário Wanida para usuário RolandX.
GRANT CONTROL ON USER::Wanida TO RolandX;
GO
B. Concedendo a permissão VIEW DEFINITION em uma função a um usuário com GRANT OPTION
O exemplo a seguir concede VIEW DEFINITION permissão na AdventureWorks2025 função SammamishParking junto com GRANT OPTION o usuário JinghaoLiudo banco de dados .
GRANT VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu WITH GRANT OPTION;
GO
C. Concedendo permissão IMPERSONATE em um usuário para uma função de aplicativo
O exemplo a seguir concede IMPERSONATE permissão no usuário HamithaL para a AdventureWorks2025 função AccountsPayable17de aplicativo .
Aplica-se a: SQL Server 2008 (10.0.x) e posterior, Banco de dados SQL.
GRANT IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
Ver também
Permissões principais do banco de dados DENY (Transact-SQL)
REVOKE Permissões Principal do Banco de Dados (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
CRIAR USUÁRIO (Transact-SQL)
CRIAR FUNÇÃO DE APLICATIVO (Transact-SQL)
CRIAR FUNÇÃO (Transact-SQL)
SUBVENÇÃO (Transact-SQL)
Permissões (Motor de Base de Dados)
Principais (Motor de Base de Dados)