Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Una delle possibili applicazioni del Policy-Based Management di Sql Server 2008 è il rispetto delle naming conventions nel disegno dei database. Vediamo un semplice esempio.
--creo un database di test
USE [master]
GO
CREATE DATABASE [testPolicies]
GO
--creo lo schema che mi servirà per testare la policy
USE [testPolicies]
GO
CREATE SCHEMA [dev] AUTHORIZATION [dbo]
GO
creo una condition chiamata "condNomeTabella" dove specifico che i nomi delle tabelle dovranno iniziare per "tbl" e dovranno appartenere allo schema "dev" .
creo un policy chiamata "polNomeTabella", la applico al database di test creando una condizione apposita. Seleziono l'opzione "On change:prevent" per impedire a chi crea le tabelle di violare la policy.
Delle seguenti istruzioni CREATE TABLE solo la terza andrà a buon fine perchè sia il nome tabella sia lo schema saranno aderenti ai requisiti.
--violiamo la policy per il nome tabella
CREATE TABLE [dev].[testtable]
(
idTable int,
field1 varchar(50),
field2 varchar(50)
)
--violiamo la policy per lo schema
CREATE TABLE [dbo].[tblTest]
(
idTable int,
field1 varchar(50),
field2 varchar(50)
)
--OK, l'istruzione verrà eseguita correttamente
CREATE TABLE [dev].[tblTest]
(
idTable int,
field1 varchar(50),
field2 varchar(50)
)
Informazioni aggiuntive