СТР 3: Declarative Management framework. Пример
Возьмем простую задачу: необходимо запретить все имена таблиц, которые начинаются на Test.
Для этого необходимо создать условие, которое будет проверять: имя таблицы не равно «Test%».
Для этого в Management Studio:
1. Идем в Policy Management, правой кнопкой кликаем на Conditions и говорим: New Condition.
2. В открывшемся окне Create New Condition в поле Name говорим: Table Name Condition .
3. В поле Facet выбираем Multipart Name Facet.
4. В поле задания условия (Expression) в Field выбираем: Name;
В поле Operator: NOT Like; в поле Value пишем Test%
В поле описания можно сказать: The table name should not start with Test

Далее необходимо создать политику:
1. В обозревателе Object Explorer кликаем правой кнопкой на Policies и выбираем New Policy.
2. В окне Create New Policy выбираем имя для политики, типа: Table Name Policy,
3. Ставим галочку на «Enabled»
4. В поле Condition box выбираем Table Name Condition.
5. Группу можно оставить “Default”.
6. В поле Applies to: выбрать из всего списка Server/Database/Table.
7. В описании режима исполнения: Enforce

Теперь в QA создаем запрос:
create table Test (Name nvarchar (10))
Policy 'Table Name Policy' has been violated by 'Server/Database[@Name='master']/Table[@Name='Test' and @Schema='dbo']'. This transaction will be rolled back.
Msg 3609, Level 16, State 1, Procedure sp_syspolicy_dispatch_event, Line 88
The transaction ended in the trigger. The batch has been aborted.
Что и требовалось доказать.
Создание же таблиц с другими процедурами проходит нормально.
P.S прежде чем попробовать DMF обратите внимание: был найден баг в СТР, который может свести на нет все попытки запуска примера. Как это дело обойти описано тут:
http://sqlserver-qa.net/blogs/sql2008/archive/2007/06/10/653.aspx