Как создать пакет служб SSIS для обновления из одной базы данных в другую на том же сервере - PullRequest
0 голосов
/ 12 мая 2010

Мой запрос связан с ответами, которые я получил на вопросы, которые я ранее разместил на этом же форуме. У меня есть копия клиентской базы данных, которая прикреплена к SQL Server, где существует центральная база данных. Копия уже содержит обновленные данные. Я просто хочу перенести обновления из этой копии в центральную базу данных, которые содержат одну и ту же схему и присутствуют на одном сервере с использованием C # .NET. Одним из решений, которое я получил, было создание пакета служб SSIS и запуск его из пользовательского интерфейса. Я хочу знать, как я могу создать пакет служб SSIS для достижения этой цели. Я новичок в SSIS. Я использую SQL Server 2005 Standard Edition и Visual Studio 2008 с пакетом обновления 1 (SP1). Я узнал, что BIDS 2005 используется для создания пакетов, которые поставляются по умолчанию с SQL Server 2005. Может кто-нибудь дать мне пример, поскольку я новичок в этом.

Ответы [ 2 ]

1 голос
/ 13 мая 2010

В SSIS нет простого способа сделать это, о котором я знаю. Для каждой таблицы вам нужно написать процедуру, которую можно вызывать в службах SSIS с помощью задачи «Выполнение SQL». Например:

Стол src
SSN First_Name Last_Name
11111111 Джефф Уильямс
22222222 Сара Дженкинс
33333333 Джордж Андерсон

dest Таблица
SSN First_Name Last_Name
11111111 Джефф Уильямс
22222222 Сара Цветы
55555555 Джессика Боуллоу

Proc:

INSERT INTO dest (SSN, Имя, Фамилия)
ВЫБЕРИТЕ s.SSN, s.first_name, s.last_name ОТ @ src s LEFT JOIN @dest d ON d.SSN = s.SSN ГДЕ d.SSN НУЛЬ

ОБНОВЛЕНИЕ dest
SET dest.First_Name = src.First_Name, dest.Last_Name = src.Last_Name
От дест JOIN SRC ON src.SSN = dest.SSN

Создание такого типа логики может оказаться немного утомительным. Вы можете использовать удобный инструмент, такой как red gates, чтобы выполнить это намного быстрее: http://www.red -gate.com / products / SQL_Data_Compare / index.htm

Удачи!

0 голосов
/ 13 мая 2010

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

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