Funções de nível de servidor

 

SQL Server fornece funções do nível de servidor para ajudar a gerenciar as permissões em um servidor. Estas funções são entidades de segurança que agrupam outras entidades de segurança. 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.

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.

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

Função fixa de nível de servidorDescrição
sysadminOs membros da função de servidor fixa sysadmin podem executar qualquer atividade no servidor.
serveradminOs membros da função de servidor fixa serveradmin podem alterar as opções de configuração de todo o servidor e fechar o servidor.
securityadminOs 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 de segurança ** A capacidade de permitir 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 .
processadminOs membros da função de servidor fixa processadmin podem encerrar os processos em execução em uma instância do SQL Server.
setupadminOs 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.)
bulkadminOs membros da função de servidor fixa bulkadmin podem executar a instrução BULK INSERT.
diskadminA função de servidor fixa diskadmin é usada para gerenciar arquivos em disco.
dbcreatorOs membros da função de servidor fixa dbcreator podem criar, alterar, descartar e restaurar qualquer banco de dados.
públicoTodo logon do SQL Server pertence à função de servidor pública. 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 públicas naquele objeto. Somente atribua permissões públicas em qualquer objeto quando você quiser que ele esteja disponível para todos os usuários. Não é possível alterar associação em public.

Observação: public é implementado de modo diferente de outras funções. No entanto, as permissões podem ser concedidas, negadas ou revogadas e negadas por meio de public.

Cada função de servidor fixa tem certas permissões atribuídas a ela. Para um gráfico das permissões atribuídas às funções de servidor, consulte Funções fixas de servidor e de banco de dados do Mecanismo de Banco de Dados.

System_CAPS_ICON_important.jpg Importante


A permissão CONTROL SERVER é semelhante, mas não idêntica à função de servidor fixa do sysadmin . As permissões não implicam associações de função e as associações de função não concedem permissões. (Por ex.: CONTROL SERVER não implica a associação à função de servidor fixa sysadmin.) No entanto, às vezes é possível representar entre funções e permissões equivalentes. A maioria dos comandos DBCC e muitos procedimentos do sistema requerem associação na função de servidor fixa sysadmin . Para obter uma lista dos 171 procedimentos armazenados do sistema que exigem associação ao sysadmin, veja a seguinte postagem de blog de Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permissions, system procedures, DBCC, automatic schema creation and privilege escalation – caveats.

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 as permissões, veja Permissões (Mecanismo de Banco de Dados) e sys.fn_builtin_permissions (Transact-SQL).

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.

RecursoTipoDescrição
sp_helpsrvrole (Transact-SQL)MetadadosRetorna uma lista de funções de nível de servidor.
sp_helpsrvrolemember (Transact-SQL)MetadadosRetorna informações sobre os membros de uma função de nível de servidor.
sp_srvrolepermission (Transact-SQL)MetadadosExibe as permissões de uma função de nível de servidor.
IS_SRVROLEMEMBER (Transact-SQL)MetadadosIndica se um logon do SQL Server é membro da função de nível de servidor especificada.
sys.server_role_members (Transact-SQL)MetadadosRetorna uma linha para cada membro de cada função de nível de servidor.
sp_addsrvrolemember (Transact-SQL)ComandoAdiciona 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)ComandoRemove 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)ComandoCria uma função de servidor definida pelo usuário.
ALTER SERVER ROLE (Transact-SQL)ComandoAltera 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)ComandoRemove uma função de servidor definida pelo usuário.
IS_SRVROLEMEMBER (Transact-SQL)FunçãoDetermina associação de função de servidor.

Funções de nível de banco de dados
Exibições de catálogo de segurança (Transact-SQL)
Funções de segurança (Transact-SQL)
Protegendo o SQL Server
Permissões GRANT de entidade do servidor (Transact-SQL)
Permissões REVOKE de entidade do servidor (Transact-SQL)
Permissões DENY de entidade do servidor (Transact-SQL)
Criar uma função de servidor

Contribuições da comunidade

ADICIONAR
Mostrar: