Вы можете сделать много таких вещей с помощью Управление на основе политик . Например, вот несколько советов, которые я написал для mssqltips, которые описывают, как сделать пару вещей:
Обеспечить соблюдение правил именования баз данных
Определение серверов SQL с неэффективными планами электропитания
Найти неиспользуемые индексы
Найти все столбцы определенного типа данных
Несколько советов от других авторов:
http://www.mssqltips.com/category.asp?catid=89
Небо это предел, правда. Все, что вы можете выполнить SQL-запросом для получения скалярного результата (и некоторых других вещей), вы можете проверить с помощью PBM.
Для вещей уровня объекта вы можете получить большую часть пути, используя простые DDL триггеры . Для этого вы можете просто подключиться к событиям DDL (например, CREATE TABLE) и выполнить откат, если ваши соглашения об именах или другие критерии не выполняются. Они работают очень похоже на триггер DML для изменения данных в таблице.
Просто имейте в виду, что вы не всегда можете принудительно применить все, например, вы не можете откатить вещи, которые не являются «транзакционными» (например, CREATE DATABASE), используя триггеры PBM или DDL. И будьте осторожны, когда вы вводите тип принудительного применения «предотвращение изменений» - например, откат CREATE INDEX, который занял 12 часов, не будет проходить очень хорошо, если он был отменен только потому, что он не был назван правильно.