Iniciando com Policy Management – Nomenclatura

Um recurso do SQL Server 2008 que deveria estar presente em todos os cenários é o Policy Management, mas por que afirmo isso? Pelo simples fato de ser a ferramenta de “colocar a casa em ordem”, pois do que adianta em reuniões definirmos padrões de nomenclaturas, modelagem, configurações e segurança, se no dia-a-dia não é possível validar estes padrões de forma prática?

Para demonstrar o potencial desta ferramenta, elaborei um simples exemplo que ajuda identificar dentre as tabelas de um banco de dados, quais estão fora de um padrão de nomenclatura.

Primeiro passo deste exemplo é a criação de um banco de dados, com a seguinte estrutura e tabelas como nosso cenário:

Como podem perceber, a maioria das tabelas possuem a nomenclatura “T[Número][Número][Número]_[Nome]”, então imaginemos que durante uma reunião com todos os DBAs da organização, foi definido que esta nomenclatura deverá ser o padrão de agora em diante! Seria uma boa hora de pedir demissão ou utilizar os recursos que você possui no SQL Server 2008 e garantir sua promoção!

Segundo passo, lembra daquela pasta Management que poucos têm a curiosidade de saber o que ela faz? Bem, lá esta o Policy Management! Agora é só habilitá-lo:

Agora que você habilitou este recurso, vamos criar nossas condições (ou Conditions) para nossas políticas/regras (ou Policies):

Na primeira condição, vamos definir qual o banco de dados que vamos trabalhar, no caso o banco de dados com nome “Teste”.

Abaixo defini um nome qualquer para esta condição, determinei qual o tipo de objeto (Facet) que vamos trabalhar nesta condição, no caso o tipo “Database”, e uma expressão simples de condição, verificando onde o nome do banco de dados (@Name) é igual a “Teste”.

@Name = 'Teste'

Feito isso, vamos para nossa próxima condição.

Nossa próxima condição será o padrão de nomenclatura das nossas tabelas. Aqui trabalharemos com o tipo de objeto (Facet) Table, onde o nome do objeto (@Name) é igual a expressão ‘T[0-9] [0-9] [0-9]_%’.

@Name LIKE 'T[0-9] [0-9] [0-9]_%'

Concluídas as condições, vamos definir nossa política/regra (Policy):

Visto que uma regra é formada por uma ou mais condições que a definem, vamos escolhe nossa condição que testa o padrão de nomenclatura das nossas tabelas, a qual denominei “Table$Name”.

clip_image014

Em seguida, restringimos o banco de dados segundo a condição “Database$Teste”, validando a nomenclatura somente das tabelas do banco de dados “Teste”:

Definimos no campo Evaluation Mode, que nossa política será executada por meio de um agendamento (On schedule):

No botão Pick, escolhemos um agendamento ou criamos um novo:

Habilitamos nossa política (checkbox “Enabled”) e finalizamos a criação dela:

Pronto, agora temos nossa primeira política:

Vamos executá-la clicando com o botão direito, em seguida clicando em Evaluate.

Nesta nova tela, poderemos gerar um relatório com os erros encontrados (Export Results).

Mas eu não disse que era bem prático o processo?

Até agora vimos parte desta praticidade, então na janela Object Explorer, habilite o botão “Show Policy Health State for all nodes” que fica próximo ao botão de “Refresh”:

Agora você pode navegar pelos erros encontrados pelo Policy Management:

Já que o Policy Management abriu seus olhos para novas possibilidades, nos próximos artigos vou trabalhar outras questões mais específicas desta ferramenta, então aproveite!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s