SQL Server中转换数据库的排序规则(2)

http://developer.51cto.com  2007-04-13 09:33  佚名  微软  我要评论(0)
  • 摘要:本文定义了排序规则并介绍如何在 Microsoft SQL Server 中转换数据库的排序规则。有关 SQL Server 2000 的概念和讨论同样适用于 SQL Server 2005。
  • 标签:排序  规则  转换  SQL Server

6.使用 DTS 或 bcp 实用工具传输数据。

注意:如果使用 DTS,请验证下列信息:

◆确保在将数据从 SQL Server 7.0 传输到 SQL Server 2000 时启用了“使用排序规则”选项。
◆因为已在目标服务器上使用适当的排序规则创建了对象,所以要禁用“首先创建目标对象”选项。

在 SQL Server 2000 中转换数据库的排序规则

要在 SQL Server 2000 中转换数据库的排序规则,请按照下列步骤操作:

1.备份源数据库。
2.注意所有列是否使用 COLLATE 子句。
3.使用适当的排序规则在目标服务器上创建新的数据库。

4.如果没有列使用 COLLATE 子句,请使用 DTS 将数据传输到目标服务器。为此,请启用“使用排序规则”选项以进行代码页转换,并将数据转换为目标数据库上的新排序规则。如果所有列均使用 COLLATE 子句,请按照下列步骤操作:

a.为所有对象(不包括索引、触发器、主键、外键、默认设置和约束)生成脚本。此外,确保启用了“仅为与 7.0 版兼容的功能编写脚本”选项,以便从脚本删除 COLLATE 子句。

注意:使用“仅为与 7.0 版兼容的功能编写脚本”选项时,可以更改排序规则。但是,生成脚本时将不考虑任何新的 SQL Server 2000 选项(包括用户定义的函数、扩展属性、INSTEAD OF 触发器和视图上的索引)。

b.在目标数据库上运行步骤 a 中创建的脚本,以便使用目标数据库的排序规则创建对象。

c.使用 DTS 仅传输源数据库中的数据。

d.成功传输数据后,将会为源数据库中的所有约束、外键、主键和索引生成脚本。

e.在目标数据库上运行步骤 d 中创建的脚本。

更改 master 数据库的排序规则

如果要更改 master 数据库的排序规则,则必须重建 master 数据库。在重建 master 数据库时,实质上是创建了新的 master 数据库。因此,重建 master 数据库之前,应考虑下列事项:

◆确保创建了当前 master 数据库的有效备份。在重建 master 数据库时,还会重建 msdb 数据库和 model 数据库。因此,在重建 master 数据库之前必须备份 msdb 数据库和 model 数据库。msdb 数据库是用于存储 SQL Server 作业、警报、运算符和 DTS 包的系统数据库。model 数据库是创建新数据库时所使用的模板数据库。
◆因为重建 master 数据库会创建一个新的 master 数据库,所以必须在重建 master 数据库之后重新输入现有登录信息。因此,还必须在重建 master 数据库之前导出登录信息,然后在重建 master 数据库后,导入登录信息。
◆因为在重建 master 数据库时会重建 msdb 数据库,所以在重建 master 数据库之前,必须为所有作业、警报和运算符生成脚本。此外,还必须确保移动了所有 DTS 包。
◆因为在重建 master 数据库时会重建 model 数据库,所以在重建 master 数据库之前,必须记下或导出以前对 model 数据库所做的全部更改或为其生成脚本。重建 model 数据库之后,请重新应用已记录的全部更改。

在 SQL Server 2000 中更改 master 数据库的排序规则

更改 master 数据库的排序规则之前,请按照下列步骤操作:

1.重建 master 数据库之后,不会自动恢复在重建此数据库之前创建的所有数据库。因此,所有数据库必须从备份进行还原,或者如果文件仍在磁盘上,则可以使用 sp_attach_db 系统存储过程重新附加数据库。请确保在重建 master 数据库之前将所有必要的信息重新附加到现有数据库。有关 sp_attach_db 系统存储过程的更多信息,请访问下面的 MSDN 网站:http://msdn2.microsoft.com/en-us/library/aa259611(SQL.80).aspx (http://msdn2.microsoft.com/en-us/library/aa259611(SQL.80).aspx)

2.在重建 master 数据库时,仅更改 master 数据库、model 数据库和 msdb 数据库的排序规则。不会更改用户数据库的排序规则。要更改现有用户数据库的排序规则或者使用适当的排序规则创建新的数据库,请使用 ALTER DATABASE 命令,然后使用 DTS 或 bcp 实用工具将数据传输到新的数据库。

注意:如果在 SQL Server 2000 中使用 ALTER DATABASE 命令来更改数据库的排序规则,则表中列的排序规则将不会自动更改。要更改列的排序规则,请使用 ALTER TABLE 命令和 ALTER COLUMN 命令。如果使用 DTS,则可以在传输数据或使用“使用排序规则”选项之前,使用适当的排序规则创建表和列。如果使用的 DTS 和表已经包含适当的排序规则,请确保在运行软件包之前禁用了“首先删除现有对象”选项。

在 SQL Server 7.0 中更改 master 数据库的排序规则

更改 master 数据库的排序规则之前,请按照下列步骤操作:

1.SQL Server 7.0 不支持数据库使用除默认排序规则以外的排序规则。因此,在重建 master 数据库之前,请从用户数据库中导出所有数据。
2.为数据库中的所有对象生成脚本。
3.使用适当的排序规则重新创建 master 数据库。
4.创建新的数据库。使用新的默认排序规则自动创建新的数据库。
5.运行以前保存的脚本以重新创建对象,然后导入以前导出的数据。

【相关文章】

【责任编辑:火凤凰 TEL:(010)68476606-8007】



共2页: 上一页 [1] 2
【内容导航】
深入SQL Server 2008
SQL Server 2008/2005全解
SQL Server入门到精通
走向银光 —— 一步一步学Silverlight2
让你的代码“炫”起来——WPF开发教程
 
 验证码: (点击刷新验证码)   匿名发表
  • 野蛮生长

  • 作者:冯仑著
  • “地产界的思想家”冯仑纵横生意江湖20年来,第一次系统梳理出书。  三十年来中国民营企业从前公司时代发展到公司时代,21..
Copyright©2005-2008 51CTO.COM 版权所有