复制 SQL Server 对象任务
下面论述复制 SQL Server 对象任务如何处理非 Unicode 数据:
在 SQL Server 2000 实例间复制数据时,只要设置复制 SQL Server 对象任务的 UseCollation 属性,便不会发生数据丢失。
将数据从 SQL Server 2000 实例复制到 SQL Server 7.0 时,对于具有与数据库默认排序规则代码页相匹配的排序规则的列,使用最佳匹配映射。而具有不同代码页的列中所存储的数据,则被解释为正在用默认代码页进行编码处理,转换过程中将伴随数据丢失。
将数据从 SQL Server 7.0 复制到SQL Server 2000 实例时,由于 SQL Server 7.0 无法确定其默认代码页所映射的排序规则,UseCollation 属性不可用。执行复制 SQL Server 对象任务期间不支持任何排序规则,因此,将给非 Unicode 目的列指派目的数据库的默认排序规则。假如与此排序规则相关联的代码页与源数据库的代码页不匹配,DTS 将执行最佳匹配映射。
将数据从 SQL Server 7.0 复制到 SQL Server 7.0 时,假如源数据库和目的数据库使用不同的默认代码页,DTS 将执行最佳匹配映射。 若要确保复制非 Unicode 时不发生数据丢失,可使用 SQL Server 大容量复制功能以 Unicode 格式导出数据,然后使用大容量复制或 DTS 导入数据。
若要禁用默认排序规则脚本,请添加代码或使用脱接编辑或动态属性任务将 SQLDMOScript2_70Only 的值添加到复制 SQL Server 对象任务的 ScriptOptionEx 属性中。
复制列转换
下面论述复制列转换如何在不同代码页之间处理非 Unicode 数据:
假如源列为 Unicode 而目的列为非 Unicode,则执行最佳匹配映射,并尝试在源列和目的列之间转换数据。假如源列为非 Unicode 而目的列为 Unicode,则不论实际使用的代码页是什么,DTS 都将源列视为属于代码页 1252。假如源列和目的列都为非 Unicode,原始数据不经转换即被复制,将发生部分数据丢失。
评论加载中…
![]() |