Partilhar via


CREATE SERVER ROLE (Transact-SQL)

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure

Cria uma função de servidor definida pelo usuário.

Convenções de sintaxe de Transact-SQL

Sintaxe

CREATE SERVER ROLE role_name [ AUTHORIZATION server_principal ]  

Argumentos

role_name

Nome da função de servidor que deve ser criada.

AUTHORIZATION server_principal

O logon que será o proprietário da nova função de servidor. Se nenhum logon for especificado, a função de servidor será de propriedade do logon que executa CREATE SERVER ROLE.

Comentários

As funções de servidor são protegíveis no nível do servidor. Depois de criar uma função de servidor, configure as permissões no nível de servidor da função por meio de GRANT, DENY e REVOKE. Para adicionar logons ou remover logons de uma função de servidor, use ALTER SERVER ROLE (Transact-SQL). Para remover uma função de servidor, use DROP SERVER ROLE (Transact-SQL). Para obter mais informações, confira sys.server_principals (Transact-SQL).

É possível exibir as funções de servidor consultando as exibições do catálogo sys.server_role_members e sys.server_principals.

As funções de servidor não podem receber permissão nos protegíveis do banco de dados. Para criar funções de banco de dados, confira CREATE ROLE (Transact-SQL).

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

Permissões

Exige a permissão CREATE SERVER ROLE ou associação na função de servidor fixa sysadmin.

Também exige IMPERSONATE no server_principal para logons, permissão ALTER para funções de servidor usadas como o server_principalou associação em um grupo do Windows que é usado como o server_principal.

Isso dispara o evento Gerenciamento da Entidade de Segurança do Servidor de Auditoria com o tipo de objeto definido como função de servidor e tipo de evento a ser adicionado.

Ao usar a opção AUTHORIZATION para atribuir a propriedade de um função de servidor, as seguintes permissões também são necessárias:

  • Para atribuir a propriedade de uma função de servidor a outro logon, a permissão IMPERSONATE é necessária naquele logon.

  • Para atribuir a propriedade de uma função de servidor para outra, é necessária associação na função de servidor ou a permissão ALTER naquela função de servidor.

Exemplos

a. Crie uma função de servidor de propriedade de um logon

O exemplo a seguir cria a função de servidor buyers que é de propriedade do logon BenMiller.

USE master;  
CREATE SERVER ROLE buyers AUTHORIZATION BenMiller;  
GO  

B. Crie uma função de servidor que seja propriedade de uma função de servidor fixa

O exemplo a seguir cria a função de servidor auditors que é de propriedade da função de servidor fixa securityadmin.

USE master;  
CREATE SERVER ROLE auditors AUTHORIZATION securityadmin;  
GO  

Próximas etapas