Permissões de tipo GRANT (Transact-SQL)
Concede permissões em um tipo.
Sintaxe
GRANT permission [ ,...n ] ON TYPE :: [ schema_name . ] type_name
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
Argumentos
permission
Especifica uma permissão que pode ser concedida em um tipo. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.ON TYPE :: [ schema_name**.** ] type_name
Especifica o tipo em que a permissão está sendo concedida. O qualificador de escopo (::) é obrigatório. Se schema_name não for especificado, o esquema padrão será usado. Se schema_name for especificado, o qualificador de escopo de esquema (.) será necessário.TO <database_principal>
Especifica o principal ao qual a permissão está sendo concedida.WITH GRANT OPTION
Indica que o principal também terá a capacidade de conceder a permissão especificada a outros principais.AS <database_principal>
Especifica um principal do qual o principal que executa esta consulta deriva seu direito de conceder 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
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 nenhum principal correspondente no nível de servidor.
Comentários
Um tipo é um protegível em nível de esquema contido pelo esquema que é seu pai na hierarquia de permissões.
Importante |
---|
GRANT, DENY, e permissões REVOKE não se aplicam a tipos de sistema. Podem ser concedidas permissões a tipos definidos pelo usuário. Para obter mais informações sobre tipos definidos pelo usuário, consulte Trabalhando com tipos de dados definidos pelo usuário no SQL Server. |
As permissões mais específicas e limitadas que podem ser concedidas em um tipo são listadas na tabela a seguir, junto com as permissões mais gerais que as contêm implicitamente.
Tipo de permissão |
Indicado pela permissão de tipo |
Indicado pela permissão do esquema |
---|---|---|
CONTROL |
CONTROL |
CONTROL |
EXECUTE |
CONTROL |
EXECUTE |
REFERENCES |
CONTROL |
REFERENCES |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
VIEW DEFINITION |
CONTROL |
VIEW DEFINITION |
Permissões
O concessor (ou o principal especificado com a opção AS) deve ter a própria permissão com a opção GRANT ou uma permissão superior que implique a concessão de permissão.
Se você estiver usando a opção AS, os requisitos adicionais a seguir se aplicarão.
AS |
Permissão adicional necessária |
---|---|
Usuário de banco de dados |
A permissão IMPERSONATE no usuário, associação na função de banco de dados fixa db_securityadmin , associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Usuário de banco de dados mapeado para um logon do Windows |
A permissão IMPERSONATE no usuário, associação na função de banco de dados fixa db_securityadmin , associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Usuário de banco de dados mapeado para um grupo do Windows |
Associação no grupo do Windows, associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Usuário de banco de dados mapeado para um certificado |
Associação na função de banco de dados fixa db_securityadmin , associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Usuário de banco de dados mapeado para uma chave assimétrica |
Associação na função de banco de dados fixa db_securityadmin , associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Usuário de banco de dados não mapeado para qualquer principal do servidor. |
A permissão IMPERSONATE no usuário, associação na função de banco de dados fixa db_securityadmin , associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Função de banco de dados |
Permissão ALTER na função, associação na função de banco de dados fixa db_securityadmin , associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Função de aplicativo |
Permissão ALTER na função, associação na função de banco de dados fixa db_securityadmin , associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin. |
Exemplos
O exemplo a seguir concede a permissão VIEW DEFINITION com GRANT OPTION no tipo definido pelo usuário PhoneNumber para o usuário KhalidR. PhoneNumber está localizado no esquema Telemarketing.
GRANT VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber
TO KhalidR WITH GRANT OPTION;
GO