Сравнение баз данных SQL - PullRequest
1 голос
/ 23 октября 2010

У меня есть две базы данных: DBTarget и DBTest.Я запускал несколько пользовательских сценариев для DBTest, поэтому теперь DBTest и DBTarget должны быть идентичны во всех отношениях (таблицы, значения в таблицах, столбцы, SPROCS и т. Д.)

Вопрос : Есть ли простой способ сравнить эти две базы данных?

Единственная стратегия, о которой я могу подумать:

USE [DBTarget];
SELECT * FROM tblTableN;
USE [DBTest];
SELECT * FROM tblTableN;

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

Кто-нибудь знает лучший способ?Я использую TSQL в SQL Management Studio 2005.

Ответы [ 3 ]

6 голосов
/ 23 октября 2010

Несколько вариантов:

  • Используйте один из продуктов Redgate .

  • Напишите скрипт для выполнения полного внешнего соединения между каждой из таблиц, которые вы хотите сравнить, с логикой сравнения. Включите системные таблицы, чтобы проверить вашу структуру и т. Д.

  • Выполнить сценарий / запрос к базе данных и данным, затем выполнить сравнение текста.

1 голос
/ 23 октября 2010

Попробуйте этот инструмент (его бесплатное программное обеспечение):

DBComparer

0 голосов
/ 23 октября 2010
...