Do que trata o artigo

Este artigo tem como objetivo apresentar um novo recurso do SQL Server 2008, o Policy Based Management. Este recurso tem como objetivo a criação de políticas para administração de objetos do SQL Server (instância, tabelas, views, índices stored procedures...).

Para que serve

O Policy Based Management serve para aplicar regras aos objetos do SQL Server, e dependendo da configuração da regra garantir que ela não seja desrespeitada, ou gerar um log informando que determinada regra foi desrespeitada.

Em que situação o tema é útil

Este recurso é útil para os administradores de dados e DBAs que poderão garantir que as políticas e boas práticas serão seguidas, agilizando assim o trabalho de padronização do ambiente.

Resumo do DevMan

O Policy Based Management é um novo recurso do SQL Server 2008. Com ele é possível que o DBA defina padrões, se os padrões forem desrespeitados um log pode ser gerado ou a alteração pode ser desfeita. É possível, por exemplo, impedir que uma procedure, cujo nome fuja do padrão estabelecido, seja compilada, ou impedir o uso de recursos como SQL Mail. As possibilidades são inúmeras, de forma que posso afirmar que o PBM pode ser um grande aliado na adoção de boas práticas.

Para compreender melhor a necessidade desse recurso é necessário antes entender as dificuldades que um DBA de uma grande empresa enfrenta. Um dos desafios desse DBA é manter saudável um ambiente de banco de dados composto por 8 instâncias, sendo que cada instância possui 32 bancos de dados. Duas instâncias são usadas pelas equipes de desenvolvimento, quando o processo de desenvolvimento acaba, a estrutura criada é promovida para as outras instâncias.

Algumas das tarefas mais complicadas para os responsáveis pelos bancos de dados consistem em configurar as instâncias de modo que só os recursos realmente necessários estejam habilitados, montar um padrão de nomenclatura de objetos, garantir que todos os objetos criados sigam o padrão de nomes e corrigir aqueles objetos que desrespeitam as os padrões.Este tipo de trabalho é complexo e por vezes maçante, nada como uma ferramenta para ajudar a diminuir ou até eliminar este tipo de tarefa.

Pensando nisso foi incluído no SQL Server 2008 um recurso chamado Policy Based Management, que neste artigo será referenciado como PBM.

Dentre os novos recursos do SQL Server 2008, o PBM – como é conhecido - é muito importante, pois simplifica o trabalho dos DBAs possibilitando o gerenciamento de entidades (instâncias do SQL Server, bancos de dados, tabelas, procedures, views, functions, índices e etc.) através da criação de políticas. A tradução do nome Policy Based Management explica perfeitamente o que este recurso faz: Gerenciamento Baseado em Políticas.

Com o uso do PBM é possível criar um policiamento (policy) que impede os desenvolvedores de criarem tabelas, views, procedures, triguers com nome fora do padrão especificado, impedir que determinados recursos sejam habilitados ou desabilitados em uma determinada instância, que configurações da base de dados sejam alteradas. Se a policy for desrespeitada cabe ao DBA determinar o que deve ser feito, a ação que desrespeita a policy pode ser desfeita, um registro de log pode ser criado. Tudo depende da intenção do administrador e do modo de execução da policy.

Para criar e gerenciar as suas policies uma interface gráfica no SQL Server Management Studio pode ser utilizada, esta é a boa prática, mas também é possível criar as policies usando o Transact SQL, mas não é recomendado já que o administrador das policies terá muito mais trabalho.

Outra maneira de gerenciar as suas policies é programaticamente através de uma linguagem da plataforma .NET. Com o uso da API SQL Server Management Objects API é possível gerenciar os objetos de gerenciamento das policies. A API possui a classe PolicyStore que contém os seguintes objetos:

...
Quer ler esse conteúdo completo? Tenha acesso completo