T-SQL - существует ли (бесплатный) способ сравнения данных в двух таблицах?

я имеюtable a а такжеtable b, (SQL Server 2008)

Обе таблицы имеют одинаковую схему.

Для целей этого вопроса рассмотримtable a = моя локальная таблица разработчиков,table b = живой стол.

Мне нужно создать сценарий SQL (содержащийUPDATE/DELETE/INSERT заявления), который обновит таблицу b, чтобы быть такой же, как таблица а. Этот сценарий затем будет развернут в действующей базе данных.

Есть какие-нибудь бесплатные инструменты, которые могут сделать это, или еще лучше, как я могу сделать это сам?

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

У кого-нибудь есть идеи?

РЕДАКТИРОВАТЬ

Ладно, подумал, я бы немного прояснил этот вопрос.

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

Вот идея того, чтоTABLE A может выглядеть так:

IdFoo          Activity      IsFoo
1              Foo           1
2              Bar           0

Вот идея того, чтоTABLE B может выглядеть так:

IdFoo          Activity      IsFoo
1              Foo           1
2              Bar           1

В общем, все, что я хочу сделать, это обновить этоBIT столбец (IsFoo) вTABLE B соответствовать соответствующему значению вTABLE A для того же IdFoo.

Иметь ввиду:

TABLE A находится на моей локальной машинеTABLE B находится на живом сервере

Очевидно, у меня есть (надежная) резервная копияTABLE B на моей локальной машине, с которой мне нужно написать скрипт, затем запустите скрипт на живом сервере.

Таблица также имеет ссылочную целостность (другие столбцы я не показывал). Что означает, что я не могу просто удалить все вTABLE B и сделать вставку изTABLE A.

Этот сценарий будет выходным. Поэтому нет необходимости делать такие вещи, как связанный сервер, репликация и т. Д. Оцените ответы, ребята. знак равно

РЕДАКТИРОВАТЬ:

Итак, я пошел с ответом Олега (Сравнение данных VS2010). Быстро, легко и работает шарм.

Не сказать, что другие ответы неверны. Я ценю все ответы!

Ответы на вопрос(12)

Ваш ответ на вопрос