Используя мастер импорта и экспорта SQL Server в Management Studio 2005, я столкнулся с большой проблемой. После выбора набора таблиц, данные которых я хочу скопировать (указав «Удалить строки в существующей вкладке» и «Вставить удостоверение» в сопоставлениях), я запускаю мастер, и мои строки из одной базы данных аккуратно копируются в мою идентичную, но ранее пустую базу данных с той же схемой. .
Однако я обнаружил, что не все столбцы копируются правильно. Столбцы типа данных "xml" заменяются пустой строкой (""). Это достаточно специфично: если столбец ранее был null, он будет скопирован как null, но если он содержит XML-данные, скопированный столбец будет пустой строкой (что вызвало немедленную разбор исключений в моем коде).
Для столбцов XML нет схемы, они просто в свободной форме. Самая простая таблица ниже (названия столбцов изменены для защиты виновных):
CREATE TABLE [dbo].[Joes]
(
[JoeID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](20) NOT NULL,
[Wives] [xml] NOT NULL CONSTRAINT [DF_Roles_Permissions] DEFAULT ('<wives />'),
CONSTRAINT [PK_Joes] PRIMARY KEY CLUSTERED ([JoeID] ASC)
)
Мне пришлось убедиться, что в сопоставлениях включена вставка удостоверений, чтобы скопировать строки без ошибок, есть ли еще один параметр, который мне не хватает, чтобы обеспечить копирование данных XML?