Partilhar via


CRIAR FUNÇÃO (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)ponto final de análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de dados SQL no Microsoft Fabric

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

Transact-SQL convenções de sintaxe

Sintaxe

CREATE ROLE role_name [ AUTHORIZATION owner_name ]  

Argumentos

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

AUTORIZAÇÃO owner_name
É o usuário ou função do banco de dados que será o proprietário da nova função. Se nenhum usuário for especificado, a função será de propriedade do usuário que executa 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.

Observações

As funções são protegíveis no nível do banco de dados. Depois de criar uma função, configure as permissões de 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, consulte Database-Level funções.

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

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

Observação

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

Permissões

Requer a permissão CREATE ROLE no banco de dados ou associação à função de banco de dados fixa db_securityadmin . Quando você usa a opção AUTHORIZATION , as seguintes permissões também são necessárias:

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

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

  • Para atribuir a propriedade de uma função a uma função de aplicativo, requer permissão ALTER na função de aplicativo.

Exemplos

Todos os exemplos a seguir usam o banco de dados AdventureWorks.

Um. Criando uma função de banco de dados que pertence a um usuário de banco de dados

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

CREATE ROLE buyers AUTHORIZATION BenMiller;  
GO  

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

O exemplo a seguir cria a função auditors de banco de dados que pertence à db_securityadmin função de banco de dados fixa.

CREATE ROLE auditors AUTHORIZATION db_securityadmin;  
GO  

Ver também

Principais (Motor de Base de Dados)
ALTER PAPEL (Transact-SQL)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
Introdução às permissões do mecanismo de banco de dados