Сравнение баз данных SQL
У меня есть две базы данных: DBTarget
а также DBTest
, Я запустил несколько пользовательских сценариев на DBTest
, а сейчас DBTest
а также DBTarget
должны быть одинаковыми во всех отношениях (таблицы, значения в таблицах, столбцы, SPROCS и т. д.)
Вопрос: Есть ли простой способ сравнить эти две базы данных?
Единственная стратегия, о которой я могу подумать:
USE [DBTarget];
SELECT * FROM tblTableN;
USE [DBTest];
SELECT * FROM tblTableN;
Я должен был бы сделать это для каждой таблицы, и визуально сравнить их сам. Тем не менее, это кажется очень подверженным ошибкам и имеет высокую вероятность человеческой ошибки.
Кто-нибудь знает лучший способ? Я использую TSQL в SQL Management Studio 2005.
3 ответа
Несколько вариантов:
Используйте один из продуктов Redgate.
Напишите скрипт для полного внешнего соединения между каждой из таблиц, которые вы хотите сравнить, с логикой сравнения. Включите системные таблицы, чтобы проверить вашу структуру и т. Д.
Сценарий / запрос базы данных и данных, а затем сделать сравнение текста.
Попробуйте этот инструмент (его бесплатное программное обеспечение):
http://www.red-gate.com/products/SQL_Data_Compare/index.htm для данных http://www.red-gate.com/products/SQL_Compare/index.htm для схемы