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
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Banco de dados SQL no Microsoft Fabric
Nega permissões concedidas em um usuário de banco de dados, uma função de banco de dados ou uma função de aplicativo no SQL Server.
Convenções de sintaxe de Transact-SQL
Syntax
DENY permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
TO <database_principal> [ ,...n ]
[ CASCADE ]
[ 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 negada no principal de banco de dados. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.
USUÁRIO ::database_user
Especifica a classe e o nome do usuário no qual a permissão está sendo negada. 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 negada. O qualificador de escopo ( :: ) é obrigatório.
FUNÇÃO DE APLICATIVO ::application_role
Aplica-se a: SQL Server 2008 (10.0.x) e posterior e Banco de Dados SQL.
Especifica a classe e o nome da função de aplicativo na qual a permissão está sendo negada. O qualificador de escopo ( :: ) é obrigatório.
CASCADE
Indica que a permissão que está sendo negada também é negada a outros principais aos quais ela foi concedida por esse principal.
COMO <database_principal>
Especifica uma entidade de segurança da qual a entidade de segurança que está executando essa consulta deriva seu direito de revogar a permissão.
Database_user
Especifica um usuário do 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 e Banco de Dados SQL.
Especifica uma função de aplicativo.
Database_user_mapped_to_Windows_User
Especifica um usuário do banco de dados mapeado para um usuário do Windows.
Database_user_mapped_to_Windows_Group
Especifica um usuário do banco de dados mapeado para um grupo do Windows.
Database_user_mapped_to_certificate
Especifica um usuário do banco de dados mapeado para um certificado.
Database_user_mapped_to_asymmetric_key
Especifica um usuário do banco de dados mapeado para uma chave assimétrica.
Database_user_with_no_login
Especifica um usuário do banco de dados sem nenhuma entidade de segurança correspondente no nível de servidor.
Remarks
Permissões do usuário do banco de dados
Um usuário do banco de dados é um item protegível do nível do 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 negadas em um usuário do banco de dados são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.
| Permissão do usuário do banco de dados | Indicado pela permissão do usuário do banco de dados | Implícito na permissão de banco de dados |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| IMPERSONATE | CONTROL | CONTROL |
| ALTER | CONTROL | ALTERAR QUALQUER USUÁRIO |
| DEFINIÇÃO DE EXIBIÇÃO | CONTROL | DEFINIÇÃO DE EXIBIÇÃO |
Permissões da função de banco de dados
Uma função de banco de dados é um item protegível do nível do 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 negadas em uma função de banco de dados são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.
| Permissão da função de banco de dados | Indicado pela permissão da função de banco de dados | Implícito na permissão de banco de dados |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ASSUMA A RESPONSABILIDADE | CONTROL | CONTROL |
| ALTER | CONTROL | ALTERAR QUALQUER FUNÇÃO |
| DEFINIÇÃO DE EXIBIÇÃO | CONTROL | DEFINIÇÃO DE EXIBIÇÃO |
Permissões de função de aplicativo
Uma função de aplicativo é um item protegível do nível do 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 negadas em uma função de aplicativo são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.
| Permissão de função de aplicativo | Indicado pela permissão de função de aplicativo | Implícito na permissão de banco de dados |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ALTER | CONTROL | ALTERAR QUALQUER FUNÇÃO DE APLICAÇÃO |
| DEFINIÇÃO DE EXIBIÇÃO | CONTROL | DEFINIÇÃO DE EXIBIÇÃO |
Permissions
Requer a permissão CONTROL no principal especificado ou uma permissão mais alta que implica a permissão CONTROL.
Os usuários autorizados da permissão CONTROL em um banco de dados, como os membros da função de banco de dados fixa db_owner, podem negar qualquer permissão para qualquer item protegível do banco de dados.
Examples
A. Negando a permissão CONTROL em um usuário para outro usuário
O exemplo a seguir nega CONTROL permissão ao AdventureWorks2025 de usuário Wanida para RolandXusuário.
USE AdventureWorks2022;
DENY CONTROL ON USER::Wanida TO RolandX;
GO
B. Negando a permissão VIEW DEFINITION em uma função para um usuário para o qual foi concedida a permissão GRANT OPTION
O exemplo a seguir nega VIEW DEFINITION permissão para o usuário do banco de dados na função SammamishParkingJinghaoLiuAdventureWorks2025. A opção CASCADE é especificada porque ao usuário JinghaoLiu foi concedida a permissão VIEW DEFINITION WITH GRANT OPTION.
USE AdventureWorks2022;
DENY VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu CASCADE;
GO
C. Negando a permissão IMPERSONATE em um usuário para uma função de aplicativo
O exemplo a seguir nega IMPERSONATE permissão ao usuário HamithaL para a função AccountsPayable17de aplicação AdventureWorks2025.
Aplica-se a: SQL Server 2008 (10.0.x) e posterior e Banco de Dados SQL.
USE AdventureWorks2022;
DENY IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
Consulte Também
Permissões de principal do banco de dados GRANT (Transact-SQL)
Permissões de principal do banco de dados REVOKE (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 PAPEL (Transact-SQL)
SUBVENÇÃO (Transact-SQL)
Permissões (Mecanismo de Banco de Dados)
Entidades (Mecanismo de Banco de Dados)