Compartilhar via


Funções de Server-Level

O SQL Server fornece funções no nível do servidor para ajudá-lo a gerenciar as permissões em um servidor. Essas funções são entidades de segurança que agrupam outras entidades de segurança. As funções de nível de servidor abrangem todo o servidor em seu escopo 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 permissões mais específicas sempre que possível.

O SQL Server fornece nove funções de servidor fixas. As permissões 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 no nível do servidor às funções de servidor definidas pelo usuário.

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

Funções de Server-Level fixas

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
administrador de sistemas Os membros da função fixa de servidor 'administrador do sistema' podem executar qualquer atividade no servidor.
administrador de servidor Os membros da função de servidor fixa serveradmin podem alterar as opções de configuração em todo o servidor e desligar o servidor.
administrador de segurança Os membros da função fixa de servidor securityadmin gerenciam logins e suas propriedades. Eles podem conceder, negar e revogar permissões no nível do servidor. Eles também poderão conceder, negar e revogar permissões no nível do banco de dados se tiverem acesso a um banco de dados. Além disso, eles podem redefinir senhas para logons do SQL Server.

** Nota de segurança ** A capacidade de conceder acesso ao Mecanismo de Banco de Dados e configurar permissões de usuário permite que o administrador de segurança atribua a maioria das permissões de servidor. A securityadmin função deve ser tratada como equivalente à sysadmin função.
processadmin Os membros da função de servidor fixa processadmin podem encerrar 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 fixo bulkadmin podem executar a instrução BULK INSERT.
administrador de disco A função de servidor fixa diskadmin é usada para gerenciar arquivos de disco.
dbcreator Os membros da função de servidor fixa dbcreator podem criar, alterar, remover e restaurar qualquer banco de dados.
público Cada logon do SQL Server pertence à função de servidor público. Quando um principal de servidor não recebeu ou foi negado permissões específicas em um objeto seguro, o usuário herda as permissões concedidas ao Público nesse objeto. Atribua somente permissões públicas em qualquer objeto quando quiser que o objeto esteja disponível para todos os usuários. Você não pode alterar a associação em público.

Observação: o público é implementado de forma diferente de outras funções. No entanto, as permissões podem ser concedidas, negadas ou revogadas do público.

Permissões de funções de servidor fixas

Cada função de servidor fixa tem determinadas permissões atribuídas a ela. Para obter um gráfico das permissões atribuídas às funções de servidor, consulte Servidor Fixo do Mecanismo de Banco de Dados e Funções de Banco de Dados Fixas.

Importante

A CONTROL SERVER permissão é semelhante, mas não é idêntica à função fixa de sysadmin servidor. As permissões não implicam filiações a funções e filiações a funções não concedem permissões. (Por exemplo, CONTROL SERVER não implica associação na função de servidor fixa sysadmin.) No entanto, às vezes é possível impersonar entre funções e permissões equivalentes. A maioria dos DBCC comandos e muitos procedimentos do sistema exigem associação à sysadmin função de servidor fixa. Para obter uma lista de 171 procedimentos armazenados do sistema que exigem sysadmin associação, consulte a seguinte postagem no blog de Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permissões, procedimentos do sistema, DBCC, criação automática de esquema e escalonamento de privilégios - ressalvas.

Permissões de Server-Level

Somente permissões no nível do servidor podem ser adicionadas a funções de servidor definidas pelo usuário. Para listar as permissões no nível do servidor, execute a instrução a seguir. As permissões no nível do 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 Server-Level

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

Característica Tipo Descrição
sp_helpsrvrole (Transact-SQL) Metadados Retorna uma lista de funções no nível do servidor.
sp_helpsrvrolemember (Transact-SQL) Metadados Retorna informações sobre os membros de uma função no nível do servidor.
sp_srvrolepermission (Transact-SQL) Metadados Exibe as permissões de uma função no nível do servidor.
IS_SRVROLEMEMBER (Transact-SQL) Metadados Indica se um logon do SQL Server é membro de uma 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) Comando Adiciona um login como membro de uma função no nível do servidor. Preterido. Em vez disso, use ALTER SERVER ROLE.
sp_dropsrvrolemember (Transact-SQL) Comando Remove um logon do SQL Server ou um usuário ou grupo do Windows de uma função no nível do servidor. Preterido. Em vez disso, use ALTER SERVER ROLE.
CREATE SERVER ROLE (Transact-SQL) Comando Cria uma função de servidor definida pelo usuário.
ALTERAR FUNÇÃO DO SERVIDOR (Transact-SQL) Comando Altera a associação de uma função de servidor ou altera o nome de uma função de servidor definida pelo usuário.
DROP SERVER ROLE (Transact-SQL) Comando Remove uma função de servidor definida pelo usuário.
IS_SRVROLEMEMBER (Transact-SQL) Função Determina a pertença ao cargo de servidor.

Consulte Também

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)
Protegendo o SQL Server
Permissões de entidade de segurança do servidor GRANT (Transact-SQL)
Revogar permissões de principais de servidor (Transact-SQL)
Negar Permissões do Principal de Servidor (Transact-SQL)
Criar uma função de servidor