Данные в столбцах «xml» очищаются при импорте в Management Studio

Используя мастер импорта и экспорта 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?


person David    schedule 23.02.2010    source источник
comment
Эта проблема, по-видимому, вызвана размером - если копируется только небольшая таблица (несколько строк), все в порядке. Но как только включается таблица большего размера, затрагиваются все столбцы XML, и при передаче они становятся пустыми.   -  person David    schedule 23.02.2010


Ответы (1)


Метод проб и ошибок позволяет предположить, что источником этой проблемы является опция «Оптимизировать для многих таблиц». Эта опция автоматически проверялась только при выборе большого количества таблиц.

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

person David    schedule 23.02.2010