Миграция master-detail в SSIS 2008

У меня есть две базы данных MSSQL 2008 dbA и dbB, dbA содержит пару таблиц master-detail: AMaster, ADetail. Соответствующий ему dbB также содержит BMaster и BDetail. Единственное различие между A и B заключается в типе первичного ключа. В исходной базе данных (dbA) это целое число, а в целевой (dbB) — уникальный идентификатор.

Уважаемые коллеги, как описать поток данных в SSIS для преобразования этого случая? Мне нужно преобразовать все поля, но заменить их новым типом ключа.


person Dewfy    schedule 01.12.2009    source источник
comment
Вам следует хорошо сформулировать свой вопрос. Название, которое вы дали, вводит в заблуждение   -  person Faiz    schedule 05.12.2009


Ответы (1)


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

И UID - это гораздо большее число, и я не думаю, что преобразование целого числа в UID - хороший вариант. Если вы действительно хотите это сделать, сделайте это так. INT >> HEX STRING >> UID. Узнайте больше об UID здесь [http://msdn.microsoft.com/en-us/library/ms187942.aspx]

person Faiz    schedule 05.12.2009
comment
Спасибо за ответ, но в вашем ответе больше вопросов, чем ответов. Надеемся, что SSIS содержит чистый блок SQL, поэтому основные сведения можно проанализировать ровно за 3 запроса с помощью временной таблицы. - person Dewfy; 07.12.2009