Blog del CIIN

Blog del Centro de Innovación en Integración de Cantabria

This Blog

Syndication

Search

Tags

Community

Email Notifications

Archives

Enlaces Recomendados

SQL Server 2008: Policicy Based Management!

Siguiendo con los posts sobre algunas de las novedades sobre SQL Server 2008, en esta ocasión voy a hablaros de Policy Based Management (PBM). Se trata de una nueva característica que facilita la administración de SQL Server 2008 a través de la definición de una serie de políticas claras y concisas, reduciendo la carga de trabajo de los administradores y los errores potenciales de administración. PBM se trata de un framework basado en políticas que permite implementarlas en base a un motor de políticas, el agente SQL, el CLR de SQL, triggers DDL (Data Definition Language) y el Service Broker. Estas políticas se pueden aplicar y evaluar en un sólo servidor o bien en un grupo de servidores, de manera que se mejora la escalabilidad de la administración y monitorización de SQL Server 2008. Empecemos.

Creando una política en SQL Server 2008

Como hemos comentado, n este post vamos a ver cómo funciona este novedoso mecanismo de creación de políticas de SQL Server 2008. En particular, veremos cómo crear políticas de nombrado en la que especificaremos las pautas a seguir a la hora de crear objetos en la BD y asignarles un nombre apropiado. Por ejemplo, una posible política es que sólo se podrán crear tablas que empiecen con el prefijo tbl.

Para crear una política con estas características:

  • En SQL Server Management Studio nos vamos a la sección Management -> Policy Management -> Facets.
  • Nos vamos a la sección Table, hacemos clic con el botón derecho del ratón y seleccionamos la opción New Condition. En la ventana que se abre especificamos los siguientes parámetros:
    • Name: El nombre de tabla empieza por tbl.
    • Facect: Está seleccionada la opción Table.
    • Expression: especificamos:
      • @Name
      • LIKE
      • ‘tbl%’
image

image

  • En el explorador de objetos, vamos ahora a la sección Policies, hacemos clic con el botón derecho del ratón y seleccionamos la opción New Policy. Especificamos los siguientes parámetros:
    • Name: Convenciones en el nombrado de tablas (justo la condición que acabamos de crear).
    • Marcamos el check box Enabled (Habilitando de esta manera la política de manera inmediata).
    • Against Targets, verificamos que está seleccionada la opción El nombre de la tabla empieza por tbl.
    • Execution Mode, seleccionamos On Change_Prevent.

image 

Sin más, tras pulsar OK ya tenemos creada nuestra primera política con PBM.

Validando la política

Para validar que la política funciona, vamos a crear una tabla mediante el siguiente script T-SQL:

USE SQL2008CDC

CREATE TABLE failedpolicy (policyid int)

Como el nombre de la tabla no cumple con la política que hemos creado, se produce un error:

image

Por el contrario, la siguiente query de creación de tabla debería funcionar sin problemas:

USE SQL2008CDC

CREATE TABLE tbl_passedpolicy (policyid int)

image

Y hasta aquí llega lo que os quería contar sobre PBM. Espero que el post os haya resultado interesante.

Published 2/6/2008 19:36 por Juan Carlos González Martín

Archivado en:
Comparte este post:

Comentarios

# re: SQL Server 2008: Policicy Based Management!@ Thursday, October 23, 2008 9:00 PM

Hola te cuento que no pude realizar la policies

la opcion Change_Prevent no me aparece solo me aparecen las opciones On Demand y On Schedule después esta todo ok, mi Microsoft SQL Server 20008 cuenta con la version 10.0.1600.22 (Microsoft SQL Server Enterprise Edition (64-bit)) y SO.NT x64

Si me ayudas te lo agradeseria gracias.

Isa

# re: SQL Server 2008: Policicy Based Management!@ Thursday, October 23, 2008 11:51 PM

Muy buenas Isa...te cuento, esta semana revisando estos temas con la RTM de SQL Server 2008 me he encontrado con este tema...creo que no se trata de un error, sino que han cambiado la forma en que puedes aplicar las políticas...y  me explico, lo que puedes hacer es definir las políticas y luego pasarlas a tu DB para ver que objetos de la misma no la cumplen...de todos modos tengo que seguir probando porque me parece raro este cambio que han hecho.

Un saludo

JC's

Juan Carlos González Martín

# re: SQL Server 2008: Policicy Based Management!@ Wednesday, May 20, 2009 7:08 AM

Mira Juan Carlos cuando intente hacer con la faceta Tabla, ejemplo que mostraste en la parte superior, no sale el modo de evaluacion no sale :ON change Prevent, pero si a la faceta le das Option table recien te acepta esta tabla , ¿Por qué?, podrias explicarlo por favor.

eduardo

# re: SQL Server 2008: Policicy Based Management!@ Wednesday, May 20, 2009 8:22 AM

Buenas Eduardo,

Es po rlo que comento en el comentario anterior, este post está basado en la RC de SQL Server 2008...en la RTM no aparece directamente la opción ON change Prevent.

Un saludo

JC's

Juan Carlos González Martín

# re: SQL Server 2008: Policicy Based Management!@ Wednesday, June 09, 2010 5:41 PM

Al parecer las opciones On change prevent se muestran de acuerdo a las facetas, por ejemplo en el caso de aplicar PBM a un stored procedure si permite seleccionar tal opción.

Piero