Инструмент сравнения SQL Server - PullRequest
7 голосов
/ 05 августа 2009

Работа в команде, где люди склонны вносить изменения в таблицы разработчиков SQL Server и забывать об этом, или готовить изменения для развертывания, и им приходится ждать этого развертывания. Это оставляет наши таблицы dev и live несовместимыми, вызывая проблемы при запуске SPROC.

Существует ли инструмент, с помощью которого я могу ввести имя SPROC и проверить его на наличие всех таблиц, указанных в нем в dev и live DB, и уведомить о любых различиях?

Ответы [ 7 ]

9 голосов
/ 05 августа 2009

Я знаю два превосходных инструмента для разграничения структур баз данных SQL - они специально не смотрят в хранимые процедуры их текст, но они покажут вам структурные различия в ваших базах данных:

Redgate также имеет SQL Dependency Tracker , который визуализирует зависимости объектов и может быть весьма полезен здесь.

Марк

3 голосов
/ 21 октября 2015

Для SQL Server 2005/2008 Open DBDiff работает довольно хорошо. Самое замечательное в этом то, что это бесплатно . Также обратите внимание, что я пишу этот ответ для версии 0.9, которая в настоящее время работает для SQL 2005/2008.

Он покажет вам различия между схемой базы данных между указанной исходной базой данных и целевой базой данных. Есть также кнопки, которые вы можете нажать, чтобы обновить или создать соответствующую таблицу.

2 голосов
/ 20 июня 2017

SQLDBDiff - это приятный, удобный и легкий инструмент.

SQLDBDiff поддерживает SQL Server 2000 to 2016, а также SQL Azure.

SQLDBDiff доступен как с free с ограниченным использованием, так и с trial.

SQLDBDiff Screen

Больше экрана

2 голосов
/ 05 августа 2009

Я бы порекомендовал сравнение SQL и сравнение данных SQL от Redgate Software . Я работал с этими инструментами в нескольких проектах, и они проделали большую работу. Документирование изменений также является хорошей вещью, но некоторые изменения слишком сложны для написания собственного кода SQL (включая перетаскивание данных между таблицами).

Инструменты redgate создают скрипты в считанные секунды, и эти скрипты почти всегда корректны (некоторые старые версии испытывали трудности с зависимостями таблиц в больших базах данных, но при игре с операторами (в начале транзакции / отката) Я смог быстро исправить эти проблемы).

Еще одним сильным моментом в комплектах Redgate является то, что вы можете сохранить свой проект сравнения. Это особенно полезно, когда вы не хотите преобразовывать определенную таблицу (или данные), вы можете исключить их. При следующей загрузке проекта программа автоматически игнорирует эти таблицы.

Одним из недостатков является стоимость программного обеспечения (небольшие компании, с которыми я работал, не хотели покупать программное обеспечение). Сравнение SQL и сравнение данных SQL обойдутся вам примерно в 800 долларов, но если вы посмотрите на время, которое вы сэкономите при выпуске, вы сэкономите много денег. Существует также пробная версия, с которой можно поиграть (30 дней, я думаю).

1 голос
/ 27 марта 2014

Я создал утилиту MssqlMerge , которая позволяет сравнивать (и объединять) данные базы данных MSSQL и объекты программирования. Он также позволяет искать определенное слово или фразу в определениях таблиц и объектах программирования.

1 голос
/ 24 сентября 2010

Если вам нужен инструмент быстрого сравнения схем для SQL Server, вам следует взглянуть на Сравнение схем dbForge для SQL Server .

dbForge Schema Compare for SQL Server

1 голос
/ 05 августа 2009

Попробуйте Microsoft Visual Studio Database Edition он же Data Dude (ранее для специалистов по базам данных). Он выполнит полное сравнение схем и сгенерирует необходимые сценарии для обновления целевой схемы.

Конечно, это не должно заменить правильный процесс сборки; -)

...