Funções de nível de servidor

O SQL Server fornece funções em nível de servidor que o ajudam a gerenciar as permissões em um servidor. Essas funções são entidades de segurança que agrupam outras entidades. Essas funções abrangem todo o servidor em seus escopos de permissões. (As funções são como grupos no sistema operacional Windows.)

As funções de servidor fixas são fornecidas para conveniência e compatibilidade com versões anteriores. Atribua mais permissões específicas sempre que possível.

O SQL Server fornece nove funções de servidor fixas. A permissões que são concedidas às funções de servidor fixas não podem ser alteradas. A partir do SQL Server 2012, você pode criar funções de servidor definidas pelo usuário e adicionar permissões do nível de servidor às funções de servidor definidas pelo usuário.

Você pode adicionar entidades de segurança no nível do servidor (logons do SQL Server, contas do Windows e grupos do Windows) em funções de nível de servidor. Cada membro de uma função de servidor fixa pode adicionar outros logons a essa mesma função. Os membros de funções de servidor definidas pelo usuário não podem acrescentar outras entidades de segurança de servidor à função.

Funções fixas de nível de servidor

A tabela a seguir mostra as funções fixas de nível de servidor e seus recursos.

Função fixa de nível de servidor

Descrição

sysadmin

Os membros da função de servidor fixa sysadmin podem executar qualquer atividade no servidor.

serveradmin

Os membros da função de servidor fixa serveradmin podem alterar as opções de configuração de todo o servidor e desligar o servidor.

securityadmin

Os membros da função de servidor fixa securityadmin gerenciam logons e suas propriedades. Eles podem CONCEDER, NEGAR e REVOGAR permissões de nível de servidor. Também podem executar as permissões de nível de banco de dados GRANT, DENY e REVOKE se tiverem acesso ao banco de dados. Além disso, eles podem redefinir senhas para logons do SQL Server.

Observação sobre segurançaObservação sobre segurança

A capacidade de conceder acesso ao Mecanismo de Banco de Dados e de configurar permissões de usuário permite que o administrador de segurança atribua a maioria das permissões de servidor. A função securityadmin deve ser tratada como equivalente à função sysadmin.

processadmin

Os membros da função de servidor fixa processadmin podem encerrar os processos em execução em uma instância do SQL Server.

setupadmin

Os membros da função de servidor fixa setupadmin podem adicionar e remover servidores vinculados usando instruções Transact-SQL. (A associação sysadmin é necessária ao usar o Management Studio.)

bulkadmin

Os membros da função de servidor fixa bulkadmin podem executar a instrução BULK INSERT.

diskadmin

A função de servidor fixa diskadmin é usada para gerenciar arquivos em disco.

dbcreator

Os membros da função de servidor fixa dbcreator podem criar, alterar, descartar e restaurar qualquer banco de dados.

public

Todo logon do SQL Server pertence à função de servidor public. Quando permissões específicas não são concedidas ou são negadas a uma entidade de servidor em um objeto seguro, o usuário herda as permissões concedidas como public nesse objeto. Só atribua permissões públicas em qualquer objeto quando desejar que o objeto esteja disponível para todos os usuários. Você não pode alterar associação no public.

ObservaçãoObservação

public é implementado diferentemente de outras funções. No entanto, as permissões podem ser concedidas, negadas ou revogadas e negadas a partir do public.

Permissão em nível de servidor

Somente podem ser acrescentadas permissões do nível de servidor a funções de servidor definidas pelo usuário. Para listar as permissões em nível de servidor, execute a instrução a seguir. As permissões em nível de servidor são:

SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;

Para obter mais informações sobre permissões, consulte Permissões (Mecanismo de Banco de Dados) e sys.fn_builtin_permissions (Transact-SQL).

Trabalhando com funções de nível de servidor

A tabela a seguir explica os comandos, exibições e funções que você pode usar para trabalhar com funções de nível de servidor.

Recurso

Tipo

Descrição

sp_helpsrvrole (Transact-SQL)

Metadados

Retorna uma lista de funções de nível de servidor.

sp_helpsrvrolemember (Transact-SQL)

Metadados

Retorna informações sobre os membros de uma função de nível de servidor.

sp_srvrolepermission (Transact-SQL)

Metadados

Exibe as permissões de uma função de nível de servidor.

IS_SRVROLEMEMBER (Transact-SQL)

Metadados

Indica se um logon do SQL Server é membro da função de nível de servidor especificada.

sys.server_role_members (Transact-SQL)

Metadados

Retorna uma linha para cada membro de cada função de nível de servidor.

sp_addsrvrolemember (Transact-SQL)

Command

Adiciona um logon como um membro de uma função de nível de servidor. Preterido. Use ALTER SERVER ROLE em vez disso.

sp_dropsrvrolemember (Transact-SQL)

Command

Remove um logon do SQL Server ou um usuário ou grupo do Windows de uma função de nível de servidor. Preterido. Use ALTER SERVER ROLE em vez disso.

CREATE SERVER ROLE (Transact-SQL)

Command

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

ALTER SERVER ROLE (Transact-SQL)

Command

Altera a associação de uma função de servidor ou altera nome de uma função de servidor definida pelo usuário.

DROP SERVER ROLE (Transact-SQL)

Command

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

IS_SRVROLEMEMBER (Transact-SQL)

Função

Determina associação de função de servidor.

Consulte também

Referência

Funções de nível de banco de dados

Exibições do catálogo de segurança (Transact-SQL)

Funções de segurança (Transact-SQL)

Permissões de entidade de segurança do servidor GRANT (Transact-SQL)

Permissões do principal do servidor REVOKE (Transact-SQL)

Permissões de principal do servidor DENY (Transact-SQL)

Conceitos

Protegendo o SQL Server

Criar uma função de servidor