使用ManagementStudio2005中的SQL Server导入和导出向导,我遇到了一个大问题。在选择了一组要复制其数据的表(在现有选项卡中指定删除行,在映射中指定标识插入)后,我执行向导,将一个数据库中的行很好地复制到具有相同架构的相同但以前为空的数据库中。
但是,我发现并不是所有的列都被正确复制。数据类型“xml”的列将替换为空字符串(“”)。如果列以前是
无效的
它将被复制为
无效的
,但如果它包含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数据?