Инструмент сравнения БД, который я могу запланировать
Мне нужен инструмент сравнения БД для SQL Server, который позволяет мне делать следующее:
- Запланируйте сравнение, чтобы оно происходило по регулярному расписанию.
- Напишите мне результаты (в удобном для чтения формате, а не в сгенерированном скрипте)
- Позвольте мне исключить / включить определенные имена объектов (например, исключить имена таблиц, содержащие%test%. Это не реальный пример, но есть веская причина, по которой это может пригодиться.)
Как и очевидное:
- Есть обычные варианты игнорирования таких вещей, как комментарии, идентификаторы и т. Д.
- Варианты выбора различных типов объектов
Если бы это было бесплатно или, по крайней мере, не стоило подделки, это было бы дополнительным бонусом, конечно.
Я опробовал RedGate SQL Compare, а также встроенное сравнение БД в Visual Studio, но ни один из них не смог выполнить первые 3 пункта выше. Я также рассмотрел другие инструменты, рекомендованные в различных темах, но опять же они не упоминают в своих функциях 3 пункта выше.
Один из вариантов, который я нашел, - это RedGate SQL Comparison SDK, с помощью которого, я думаю, я мог бы написать что-то, что бы я хотел.
Я просто хотел исследовать инструменты, которые могли бы делать все вышеперечисленное из коробки.
Спасибо!
2 ответа
SQL Compare Pro поставляется с командной строкой, которая будет проще в настройке, чем SDK. Если вы вызываете это через планировщик Windows или в агентской работе, вы можете достичь того, что ищете.
Пример вызова командной строки из Powershell можно найти здесь: http://www.simple-talk.com/sql/database-administration/auditing-ddl-changes-in-sql-server-databases/
В этой статье также рассказывается, как отправить электронное письмо в Powershell. В SQL Compare также можно передать фильтр с помощью параметра / filter, чтобы исключить объекты на основе различных правил.
http://www.red-gate.com/supportcenter/Content/SQL_Compare/help/10.0/sc_cl_Switches_in_the_cl
Пожалуйста, напишите support@red-gate.com, если у вас возникнут проблемы с этим.
Я не думаю, что какой-либо инструмент сделал бы все это из коробки. У вас был шанс посмотреть на sp_CompareDB. У меня было похожее требование, и я написал свою собственную рутину, основанную на том же самом.
http://www.sql-server-performance.com/2001/database-comparison-sp/