Roles do SQL Server – Serveradmin

Imagem

Olá,

Continuando a  antiga série básica sobre roles do SQL Server, vamos dar uma olhada na role: serveradmin.

Essa role é responsável por realizar atividades inerentes à configuração do servidor. As permissões, listadas graças à procedure sp_srvrolepermission são:

Add member to serveradmin: Também conhecido como milagre da multiplicação. É o poder de conceder a role serveradmin para outro login.

dbcc freeproccache: Possibilita o uso do comando DBCC (referências no final do post), que consegue remover elementos da área que chamados de plan cache (área na memória reservada para o SQL Server armazenar planos de execução). Esse comando DBCC pode remover um plano de execução armazenado ou todos, depende dos parâmetros que você passar (podendo ser sql, plan handle ou um valor default). Entenda que é um comando que tem relação com o servidor, que por sua vez está relacionado intimamente com a área de memória.

sp_configure/ RECONFIGURE: O SQL Server possui o que chamamos de Security by default (segurança por padrão). Muita coisa está desabilitada, e, para ativar essas opções, é necessário utilizar uma procedure de sistema chamada sp_configure. RECONFIGURE por sua vez é um comando necessário para atualizar o valor de algumas alterações realizadas nas configurações (não todas, algumas requerem que o servidor seja reiniciado e aí o reconfigure por si só não é suficiente). Nem precisa comentar sobre o quão crítica e importante é esta procedure. Configurações extremamente importantes são feitas aqui, sendo algumas delas (de várias, consulte a sys.configurations e a documentação pra ver o restante): memória mínima e máxima do servidor, fillfactor padrão do servidor, serviço de e-mail etc, acesso remoto, etc.

SHUTDOWN: Comando que possibilita o desligamento da instância. Lembrando que esse comando possui também a cláusula WITH NOWAIT (e isso pode significar, dependendo do cenário, restarts com um “crash recovery” muito demorados, ou em outras palavras, aquele reset na instância que causa uma demora descomunal onde as bases demoram uma vida e meia pra estarem online (esse assunto é bem legal, e tem relação com outros fatores que poucas pessoas se importam, como por exemplo, tamanho de VLF’s dos Transaction Logs). Mas bem, de qualquer forma, é um comando importante e digamos até vital no quesito de importância.

sp_fulltext_service:  Altera algumas configurações do fulltext em âmbito de servidor. Fora do escopo, btw. Mas vale dizer que quem trabalha com a feature, sabe o quão importante é possui um fulltext bem configurado.

sp_tableoption: Permite alterar algumas opções de tabelas (user-defined tables, jamais tabelas e views de sistema). Algumas delas tem influência também no comportamento do SQL Server vs locks nessas tabelas. Conclui-se, então, que essa configuração também é importante, embora pouco utilizada (pra se mexer nessa configuração, na minha opinião, é necessário um cenário bem específico).

Enfim…

Trata-se de uma role importante, e deve concedida sabiamente. É um pouco rara de se ver atualmente, pois a figura do DBA geralmente utiliza a sysadmin, que possui todos os privilégios possíveis em uma instância, e como as permissões de um serveradmin são naturais para um sysadmin, acaba sendo pouco utilizada (e consequentemente, com capacida pouco conhecida). E alguns cenários (não tão comuns assim), se faz  necessário que outras pessoas além do DBA, por exemplo, possam configurar a instância (ou desliga-la) mas que não necessariamente precisam de algo além disso, e aí, nestas situações, roles serveradmins são boas pedidas. O único porém, sempre, ao se falar de server roles, é justamente o fator “Add members to”. É importante ter isso em mente SEMPRE ao se conceder uma server role.


É isso. Próximas postagens (duas) vou finalizar essa humilde série sendo o último post o maior deles (esse post sobre sysadmin foi minha maior e confesso, a única motivação para começar a série). Meio louco dizer isso só agora, mas achei importante, hehehe.

[]’s

Referências

Server roles (relembrando): http://msdn.microsoft.com/en-us/library/ms188659.aspx

SP_CONFIGURE: http://technet.microsoft.com/pt-br/library/ms188787.aspx

DBCC DROPFREECCACHE: http://technet.microsoft.com/pt-br/library/ms174283.aspx

4 thoughts on “Roles do SQL Server – Serveradmin”

  1. Pingback: Segurança no SQL Server | Alex Souza

  2. Pingback: Roles do SQL Server – Vida e Obra | Renato Siqueira

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top