Novidades SQL Server 2008 – Declarative Management Framework

Abril 11, 2009 at 5:57 am (SQL Server) (, , , , )

Um dos grandes sonhos de um DBA é o de manter o padrão de nomenclatura dos objetos, muito difícil de conseguir quando se tem um número razoavel de desenvolvedores.

Agora no SQL Server 2008 isso já é possível utilizando a DMF (Declarative Management Framework) que possibilita a adição de políticas no banco de dados para garantir que determinadas diretrizes sejam seguidas.

Através da DMF não só é possível garantir o padrão de nomenclatura de objetos como também garantir que determinadas opções do banco de dados não sejam alteradas, como por exemplo impedir que a opção autoshrink não seja habilitada.

A DMF baseia-se em três objetos:

  • Facets
  • Conditions
  • Policies

Facets são os objetos que possuem propriedades e que podem ter regras aplicadas sobre as mesmas. Exemplos de Facets são: Stored Procedures, Tables, Trigger, etc… Ao todo são 38 Facets.

Para visualizar todas as Facets, vá até o Management Studio, nó “Management” e expanda o  nó “Policy Management” e em seguida “Facets”. Lembrando que as Facets são fixas e não podem ser criadas pelo usuário pois tratam-se de objetos do banco de dados.

Como exemplo, crie uma “Condition” com a expressão @Name LIKE ‘up_%’. botão direito do mouse em “Conditions”, “New Condition”, selecione a Facet “Stored Procedure” e dê um nome a condition, exemplo “Nomenclatura de stored procedure”.

Depois crie uma Policy que vai associar a Facet à Condition criada, para isso clique com o botão direito do mouse em “Policies”, “New Policy”. Em seguida selecione a condition na lista de opções “Check condition” e na opção “Evaluation Mode” selecione “On change: prevent”. Ainda nesta janela, para melhorar, vá até a opção “Description” (ao lado esquerdo superior)  e na caixa de texto “Description” digite um texto que será exibido caso a politica seja violada, ou seja, caso tente-se criar uma stored procedure que não atenda a condição implementada, exemplo do texto “ATENÇÃO: Por questões de padronização as tabelas só podem ser criadas utilizando-se o prefixo ‘ut_’.”.

Pronto, à partir de agora é possível manter o padrão de nomenclatura dos objetos do banco de dados.

Comente