Criando políticas com Policy-Based Management (Parte 2)

 

No post anterior criamos uma política para encontrar databases com a opção de auto-shrink habilitado. Agora neste segundo post, iremos padronizar a nomenclatura de stored procedures que serão criadas. Não será permitido a criação de stored procedures que comecem por sys, xp_ e sp_

Para criar uma Condição vamos expandir Management à Policy Management, botão direito em Conditions à New Condition:


No campo Name vamos digitar “Condição – Stored Procedures” e selecionar a faceta Multipart Name; Expression vamos adicionar as seguintes regras: Field selecionamos @Name, em Operator escolhemos NOT LIKE e vamos digitar em value ‘sys%’. Vamos repetir o mesmo procedimento para ‘sp_%’ e ‘xp_%’ utilizando em ANDOR o operador AND: 


Em Description vamos dar uma descrição um pouco mais detalhada sobre a condição: “Esta condição será aplicada para não permitir stored procedures que se iniciem com sys, xp_ e sp_”


Neste ponto criamos uma condição que será utilizada pela política. Vamos agora criar a política; Botão direito em Policies à New Policy;


“Name” vamos digitar “Politica – Stored Procedures”; em “Check Condition” selecionamos a condição criada anteriormente chamada “Condição – Stored Procedures”; em “Against targets” vamos marcar “Every Stored Procedure” e “Every Table” e “Evaluation Mode” selecionamos On Change – Prevent que utiliza Trigger DDL para aplicar a restrição no momento da criação do objeto;

Não vamos esquecer de marcar Enabled;


Em Description digitamos “Política para não permitir a criação de stored procedures com determinados prefixos”; “Text to Display” vamos colocar uma mensagem para os usuários receberem como resposta a aplicação da política: “Não é permitida a criação de stored procedures com prefixos sys, xp_ e sp_”;


Validando…




Para finalizar vamos criar uma stored procedure valida:


E está criada, em pouco tempo, uma política que não permite criar stored procedures que sejam precedidas por sys, sp_ e xp_.