Данные в столбцах xml очищаются при импорте в Management Studio - PullRequest
0 голосов
/ 23 февраля 2010

Использование мастера импорта и экспорта 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)
)

Я должен был убедиться, что Identity Insert была включена в сопоставления, чтобы скопировать строки без ошибок. Есть ли еще один параметр, который мне не хватает, чтобы гарантировать копирование данных XML?

1 Ответ

0 голосов
/ 23 февраля 2010

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

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

...