欢迎来到天天文库
浏览记录
ID:22378405
大小:64.50 KB
页数:10页
时间:2018-10-28
《sqlserver中转换数据库的排序规则》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、SQLServer中转换数据库的排序规则>>教育资源库 本文定义了排序规则并介绍如何在MicrosoftSQLServer中转换数据库的排序规则。有关SQLServer2000的概念和讨论同样适用于SQLServer2005。 什么是排序规则? 排序规则指定了表示每个字符的位模式。它还指定了用于排序和比较字符的规则。排序规则具有下面的特征: ◆语言 ◆区分大小写 ◆区分重音 ◆区分假名 要了解服务器当前使用的排序规则,可以在SQL查询分析器中运行sp_helpsort系统过程。 SQLServer7.0不支持使用多个排序规则的数据库。因此,在SQLServer7.0中
2、创建的所有数据库均使用默认的排序规则。SQLServer2000支持多个排序规则。SQLServer2000数据库可使用除默认排序规则以外的其他排序规则。此外,SQLServer2000还支持使用排序规则(除数据库创建的排序规则外)的列。 在DTS中使用使用排序规则选项的条件 SQLServer2000可包含多个数据库或列,它们可以使用除默认排序规则以外的排序规则。因此,在数据转换服务(DTS)中引入了名为使用排序规则的新选项。使用排序规则选项的行为由要执行的转换的类型决定。如果要在SQLServer2000的两个实例之间传输数据且启用了使用排序规则选项,则数据将从源代码页转换到目
3、标代码页。如果没有启用使用排序规则选项且SQLServer2000的两个实例中的代码页相同,则会直接传输数据。如果代码页不同,则数据将从源代码页转换到目标代码页。但是,在传输数据时,转换可能会出现错误。 注意:如果排序规则用于数据本身并且列使用的是COLLATE子句,则排序规则很重要。使用排序规则选项确定当数据从一个排序规则传输到另一个排序规则时是否转换代码页。使用排序规则选项不会影响是否设置了列定义的COLLATE属性。因此,如果源表包含使用COLLATE子句创建的带有特定排序规则的列,则此排序规则将在传输数据时得以保留,而不管是否在数据转换服务向导中启用了使用排序规则选项。 不
4、改变数据库排序规则的转换方法 下列方法不改变数据库的排序规则: ◆备份和还原:在某服务器上还原数据库时,如果该服务器使用的排序规则与用于备份的服务器使用的排序规则不同,则不会将还原后的数据库转换为使用新的排序规则。数据库排序规则仍保持原样。 ◆分离和重新附加:如果分离使用某一排序规则创建的数据库,并且将该数据库重新附加到使用其他排序规则的另一服务器,则该数据库的排序规则不会改变。数据库的排序规则仍保持原样。 ◆复制数据库向导:复制数据库向导实质上使分离和重新附加的过程自动化了。数据库的排序规则仍保持原样。 注意:复制数据库向导仅在SQLServer2000中可用。 在SQL
5、Server7.0中转换数据库的排序规则 要在运行SQLServer7.0的两台计算机之间更改数据库的排序规则,必须在目标服务器上创建用户数据库和所有对象,然后使用DTS或bcp实用工具传输数据。 要将数据库从运行SQLServer7.0的计算机传输到运行SQLServer7.0且具有另一排序规则的计算机,请按照下列步骤操作: 1.备份源数据库。 2.使用SQLServer企业管理器为源数据库中的所有对象创建脚本。 3.要从数据库的所有表中导出数据,请使用DTS或bcp实用工具。 4.使用SQLServer企业管理器或CREATEDATABASE语句在目标服务器上创建新的数
6、据库。 注意:当使用CREATEDATABASE语句时,数据库将使用与运行SQLServer7.0的计算机相同的排序规则。 5.使用SQL查询分析器来运行在步骤2中创建的脚本,以便在目标数据库中重新创建所有对象。 注意:此表和列将使用与运行SQLServer7.0的计算机相同的排序规则。 6.使用DTS或bcp实用工具将数据导入到目标表中。 将SQLServer7.0中数据库的排序规则转换为SQLServer2000中的排序规则 要在SQLServer7.0和SQLServer2000之间更改数据库的排序规则,必须在传输数据之前,在目标服务器上使用适当的排序规则创建数据库、
7、列或同时创建数据库和列。但是,在将数据从SQLServer7.0传输到SQLServer2000时,可以使用DTS删除并重新创建对象。因此,在执行此操作时,必须在DTS中启用使用排序规则选项。 注意:请不要使用SQLServer7.0中的DTS实用工具与运行SQLServer2000的计算机相互传输所有对象。如果必须在SQLServer7.0和SQLServer2000之间传输数据,则必须使用SQLServer2000中的DTS实用工具。
此文档下载收益归作者所有