Compartilhar via


CREATE ROLE (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Ponto de extremidade de análise de SQL no Microsoft FabricWarehouse no Microsoft FabricBanco de Dados SQL no Microsoft Fabric

Cria uma nova função de banco de dados no banco de dados atual.

Convenções de sintaxe de Transact-SQL

Sintaxe

CREATE ROLE role_name [ AUTHORIZATION owner_name ]  

Argumentos

role_name
É o nome da função a ser criada.

OWNER_NAME DE AUTORIZAÇÃO
É o usuário de banco de dados ou função que terá a propriedade da nova função. Se nenhum usuário for especificado, a função será de propriedade do usuário que executar CREATE ROLE. O proprietário da função ou qualquer membro de uma função proprietária pode adicionar ou remover membros da função.

Comentários

As funções são protegíveis no nível de banco de dados. Depois de criar uma função, configure as permissões em nível de banco de dados da função usando GRANT, DENY e REVOKE. Para adicionar membros a uma função de banco de dados, use ALTER ROLE (Transact-SQL). Para obter mais informações, veja Funções em nível de banco de dados.

As funções de banco de dados são visíveis nas exibições do catálogo sys.database_role_members e sys.database_principals.

Para obter informações sobre como criar um sistema de permissões, veja Introdução às permissões do mecanismo de banco de dados.

Observação

Esquemas não são equivalentes a usuários de banco de dados. Use as exibições do catálogo do sistema para identificar as diferenças entre os usuários do banco de dados e os esquemas.

Permissões

Exige a permissão CREATE ROLE no banco de dados, ou a associação na função de banco de dados fixa db_securityadmin. Ao usar a opção de AUTHORIZATION, as seguintes permissões também são necessárias:

  • Para atribuir a propriedade de uma função a outro usuário, requer permissão IMPERSONATE naquele usuário.

  • Para atribuir a propriedade de uma função para outra, requer associação na função de destinatário ou a permissão ALTER nessa função.

  • Para atribuir a propriedade de uma função a uma função de aplicativo é necessária a permissão ALTER na função de aplicativo.

Exemplos

Os seguintes exemplos usam todos o banco de dados AdventureWorks.

a. Criando uma função de banco de dados pertencente a um usuário de banco de dados

O exemplo a seguir cria a função de banco de dados buyers que pertence ao usuário BenMiller.

CREATE ROLE buyers AUTHORIZATION BenMiller;  
GO  

B. Criando uma função de banco de dados pertencente a uma função de banco de dados fixa

O exemplo a seguir cria a função de banco de dados auditors que é de propriedade da função de banco de dados fixa db_securityadmin.

CREATE ROLE auditors AUTHORIZATION db_securityadmin;  
GO  

Consulte Também

Entidades (Mecanismo de Banco de Dados)
ALTER ROLE (Transact-SQL)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
Guia de Introdução às permissões do mecanismo de banco de dados