Funções de nível de servidorServer-Level Roles

APLICA-SE A: SimSQL Server NãoBanco de Dados SQL do Azure NãoAzure Synapse Analytics (SQL DW) SimParallel Data Warehouse APPLIES TO: YesSQL Server NoAzure SQL Database NoAzure Synapse Analytics (SQL DW) YesParallel Data Warehouse

SQL ServerSQL Server fornece funções do nível de servidor para ajudar a gerenciar as permissões em um servidor.provides server-level roles to help you manage the permissions on a server. Estas funções são entidades de segurança que agrupam outras entidades de segurança.These roles are security principals that group other principals. Essas funções abrangem todo o servidor em seus escopos de permissões.Server-level roles are server-wide in their permissions scope. (Asfunções são como grupos no sistema operacional Windows.)(Roles are like groups in the Windows operating system.)

As funções de servidor fixas são fornecidas para conveniência e compatibilidade com versões anteriores.Fixed server roles are provided for convenience and backward compatibility. Atribua mais permissões específicas sempre que possível.Assign more specific permissions whenever possible.

SQL ServerSQL Server fornece nove funções de servidor fixas.provides nine fixed server roles. A permissões que são concedidas às funções de servidor fixas (exceto público) não podem ser alteradas.The permissions that are granted to the fixed server roles (except public) cannot be changed. A partir do SQL Server 2012 (11.x)SQL Server 2012 (11.x), 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.Beginning with SQL Server 2012 (11.x)SQL Server 2012 (11.x), you can create user-defined server roles and add server-level permissions to the user-defined server roles.

Você pode adicionar entidades de segurança no nível do servidor (logons do SQL ServerSQL Server, contas do Windows e grupos do Windows) em funções no nível do servidor.You can add server-level principals ( SQL ServerSQL Server logins, Windows accounts, and Windows groups) into server-level roles. Cada membro de uma função de servidor fixa pode adicionar outros logons a essa mesma função.Each member of a fixed server role can add other logins to that same role. Os membros de funções de servidor definidas pelo usuário não podem acrescentar outras entidades de segurança de servidor à função.Members of user-defined server roles cannot add other server principals to the role.

Observação

Permissões no nível do servidor não estão disponíveis no Banco de Dados SQL ou no SQL Data Warehouse.Server-level permissions are not available in SQL Database or SQL Data Warehouse. Para obter mais informações sobre o Banco de Dados SQL, consulte Controlando e concedendo acesso ao banco de dados.For more information about SQL Database, see Controlling and granting database access.

Funções fixas de nível de servidorFixed Server-Level Roles

A tabela a seguir mostra as funções fixas de nível de servidor e seus recursos.The following table shows the fixed server-level roles and their capabilities.

Função fixa de nível de servidorFixed server-level role DescriçãoDescription
sysadminsysadmin Os membros da função de servidor fixa sysadmin podem executar qualquer atividade no servidor.Members of the sysadmin fixed server role can perform any activity in the server.
serveradminserveradmin Os membros da função de servidor fixa serveradmin podem alterar as opções de configuração de todo o servidor e fechar o servidor.Members of the serveradmin fixed server role can change server-wide configuration options and shut down the server.
securityadminsecurityadmin Os membros da função de servidor fixa securityadmin gerenciam logons e suas propriedades.Members of the securityadmin fixed server role manage logins and their properties. Eles podem ter as permissões de nível de servidor GRANT, DENY e REVOKE.They can GRANT, DENY, and REVOKE server-level permissions. Eles também podem ter permissões de nível de banco de dados GRANT, DENY e REVOKE se tiverem acesso ao banco de dados.They can also GRANT, DENY, and REVOKE database-level permissions if they have access to a database. Além disso, eles podem redefinir senhas para logons do SQL ServerSQL Server .Additionally, they can reset passwords for SQL ServerSQL Server logins.

IMPORTANTE: A capacidade de conceder acesso ao Mecanismo de Banco de DadosDatabase Engine e de configurar permissões de usuário permite que o administrador de segurança atribua a maioria das permissões de servidor.IMPORTANT: The ability to grant access to the Mecanismo de Banco de DadosDatabase Engine and to configure user permissions allows the security admin to assign most server permissions. A função securityadmin deve ser tratada como equivalente à função sysadmin .The securityadmin role should be treated as equivalent to the sysadmin role.
processadminprocessadmin Os membros da função de servidor fixa processadmin podem encerrar os processos em execução em uma instância do SQL ServerSQL Server.Members of the processadmin fixed server role can end processes that are running in an instance of SQL ServerSQL Server.
setupadminsetupadmin Os membros da função de servidor fixa setupadmin podem adicionar e remover servidores vinculados usando instruções Transact-SQLTransact-SQL.Members of the setupadmin fixed server role can add and remove linked servers by using Transact-SQLTransact-SQL statements. (A associação sysadmin é necessária ao usar o Management StudioManagement Studio.)(sysadmin membership is needed when using Management StudioManagement Studio.)
bulkadminbulkadmin Os membros da função de servidor fixa bulkadmin podem executar a instrução BULK INSERT.Members of the bulkadmin fixed server role can run the BULK INSERT statement.
diskadmindiskadmin A função de servidor fixa diskadmin é usada para gerenciar arquivos em disco.The diskadmin fixed server role is used for managing disk files.
dbcreatordbcreator Os membros da função de servidor fixa dbcreator podem criar, alterar, remover e restaurar qualquer banco de dados.Members of the dbcreator fixed server role can create, alter, drop, and restore any database.
públicopublic Todo logon do SQL ServerSQL Server pertence à função de servidor pública.Every SQL ServerSQL Server login belongs to the public server role. 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.When a server principal has not been granted or denied specific permissions on a securable object, the user inherits the permissions granted to public on that object. Somente atribua permissões públicas em qualquer objeto quando você quiser que ele esteja disponível para todos os usuários.Only assign public permissions on any object when you want the object to be available to all users. Não é possível alterar associação em public.You cannot change membership in public.

Observação: public é implementado de maneira diferente de outras funções. Além disso, é possível conceder, negar ou revogar permissões das funções de servidor fixas públicas.Note: public is implemented differently than other roles, and permissions can be granted, denied, or revoked from the public fixed server roles.

Permissões de funções de servidor fixasPermissions of Fixed Server Roles

Cada função de servidor fixa tem certas permissões atribuídas a ela.Each fixed server role has certain permissions assigned to it. A imagem a seguir mostra as permissões atribuídas às funções de servidor.The following graphic shows the permissions assigned to the server roles.
fixed_server_role_permissions

Importante

A permissão CONTROL SERVER é semelhante, mas não idêntica à função de servidor fixa do sysadmin .The CONTROL SERVER permission is similar but not identical to the sysadmin fixed server role. As permissões não implicam associações de função e as associações de função não concedem permissões.Permissions do not imply role memberships and role memberships do not grant permissions. Por exemplo,(E.g. 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.CONTROL SERVER does not imply membership in the sysadmin fixed server role.) However, it is sometimes possible to impersonate between roles and equivalent permissions. A maioria dos comandos DBCC e muitos procedimentos do sistema requerem associação na função de servidor fixa sysadmin .Most DBCC commands and many system procedures require membership in the sysadmin fixed server role. 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.For a list of 171 system stored procedures that require sysadmin membership, see the following blog post by Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permissions, system procedures, DBCC, automatic schema creation and privilege escalation - caveats.

Permissão em nível de servidorServer-Level Permissions

Somente podem ser acrescentadas permissões do nível de servidor a funções de servidor definidas pelo usuário.Only server-level permissions can be added to user-defined server roles. Para listar as permissões em nível de servidor, execute a instrução a seguir.To list the server-level permissions, execute the following statement. As permissões em nível de servidor são:The server-level permissions are:

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).For more information about permissions, see Permissions (Database Engine) and sys.fn_builtin_permissions (Transact-SQL).

Trabalhando com funções de nível de servidorWorking with Server-Level Roles

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.The following table explains the commands, views, and functions that you can use to work with server-level roles.

RecursoFeature TypeType DescriçãoDescription
sp_helpsrvrole (Transact-SQL)sp_helpsrvrole (Transact-SQL) MetadadosMetadata Retorna uma lista de funções de nível de servidor.Returns a list of server-level roles.
sp_helpsrvrolemember (Transact-SQL)sp_helpsrvrolemember (Transact-SQL) MetadadosMetadata Retorna informações sobre os membros de uma função de nível de servidor.Returns information about the members of a server-level role.
sp_srvrolepermission (Transact-SQL)sp_srvrolepermission (Transact-SQL) MetadadosMetadata Exibe as permissões de uma função de nível de servidor.Displays the permissions of a server-level role.
IS_SRVROLEMEMBER (Transact-SQL)IS_SRVROLEMEMBER (Transact-SQL) MetadadosMetadata Indica se um logon do SQL ServerSQL Server é membro da função de nível de servidor especificada.Indicates whether a SQL ServerSQL Server login is a member of the specified server-level role.
sys.server_role_members (Transact-SQL)sys.server_role_members (Transact-SQL) MetadadosMetadata Retorna uma linha para cada membro de cada função de nível de servidor.Returns one row for each member of each server-level role.
sp_addsrvrolemember (Transact-SQL)sp_addsrvrolemember (Transact-SQL) ComandoCommand Adiciona um logon como um membro de uma função de nível de servidor.Adds a login as a member of a server-level role. Preterido.Deprecated. Use ALTER SERVER ROLE em vez disso.Use ALTER SERVER ROLE instead.
sp_dropsrvrolemember (Transact-SQL)sp_dropsrvrolemember (Transact-SQL) ComandoCommand Remove um logon do SQL ServerSQL Server ou um usuário ou grupo do Windows de uma função de nível de servidor.Removes a SQL ServerSQL Server login or a Windows user or group from a server-level role. Preterido.Deprecated. Use ALTER SERVER ROLE em vez disso.Use ALTER SERVER ROLE instead.
CREATE SERVER ROLE (Transact-SQL)CREATE SERVER ROLE (Transact-SQL) ComandoCommand Cria uma função de servidor definida pelo usuário.Creates a user-defined server role.
ALTER SERVER ROLE (Transact-SQL)ALTER SERVER ROLE (Transact-SQL) ComandoCommand Altera a associação de uma função de servidor ou altera nome de uma função de servidor definida pelo usuário.Changes the membership of a server role or changes name of a user-defined server role.
DROP SERVER ROLE (Transact-SQL)DROP SERVER ROLE (Transact-SQL) ComandoCommand Remove uma função de servidor definida pelo usuário.Removes a user-defined server role.
IS_SRVROLEMEMBER (Transact-SQL)IS_SRVROLEMEMBER (Transact-SQL) FunçãoFunction Determina associação de função de servidor.Determines membership of server role.

Consulte TambémSee Also

Funções de nível de banco de dados Database-Level Roles
Exibições de catálogo de segurança (Transact-SQL) Security Catalog Views (Transact-SQL)
Funções de segurança (Transact-SQL) Security Functions (Transact-SQL)
Protegendo o SQL Server Securing SQL Server
Permissões GRANT de entidade do servidor (Transact-SQL) GRANT Server Principal Permissions (Transact-SQL)
Permissões REVOKE de entidade do servidor (Transact-SQL) REVOKE Server Principal Permissions (Transact-SQL)
Permissões DENY de entidade do servidor (Transact-SQL) DENY Server Principal Permissions (Transact-SQL)
Criar uma função de servidorCreate a Server Role