Как написать T-SQL для сравнения и копирования данных? - PullRequest
1 голос
/ 27 апреля 2010

У меня есть две базы данных SQL Server 2008 Enterprise (на двух машинах), одна из которых является основной, а другая - подчиненной.

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

  1. если есть новая строка в исходной базе данных, но отсутствует в целевой базе данных, вставьте строку в целевую базу данных;
  2. если строка не существует в исходной базе данных, но существует в целевой базе данных, удалите строку в целевой базе данных;
  3. если содержимое строки (то есть столбцы, отличные от столбцов первичного ключа) изменяется в исходной базе данных, обновите новое содержимое в целевой базе данных.

спасибо заранее, George

1 Ответ

1 голос
/ 27 апреля 2010

Вы можете использовать Проект сервера SQL с мастером из Visual Studio (VSTS) [Ознакомьтесь с этим учебным пособием , чтобы узнать больше], в котором вы можете выбрать свою основную базу данных, затем выберите другую конфигурацию в мастере.

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

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

Вам нужна поддержка редакции базы данных системы Visual Studio Team.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...