《32位MS_SQL_Server快速迁移到64位的方法》.doc
文本预览下载声明
32位MS SQL Server快速迁移到64位的方法
随着科技的发展,64位服务器在企业应用中日益普及。因此可能会碰到把32位SqlServer数据库迁移到64位SqlServer数据库服务器上。最传统的方法是:1、在64位服务器上安装64位操作系统Windows2003,安装64位的SqlServer2000;2、Dump所有帐套的数据库;3、将数据库文件从32位服务器上拷贝到64位的服务器上;4、Load所有帐套的数据库;5、处理所有帐套的用户登录以及密码问题。
往往很多企业的数据库非常大,可能好几G,而且可能有好几个帐套,因此执行第2步、第4步的时间往往会耗用6、7小时,甚至10多个小时。而且Load帐套后,用户会丢失。虽然MSDN上面有能将用户、密码恢复的方法,但是操作非常麻烦。那么有没有比较简单快速的方法呢?
首先,我们分析一下SqlServer的结构。
在数据库服务器的注册表里记录着Master所在位置。运行注册表编辑器Regedit.exe,选择查找功能,查找内容为master.mdf,可以查到master.mdf的信息。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\Parameters]
SQLArg0=-dd:\\Program Files\\Microsoft SQL Server\\MSSQL\\data\\master.mdf
SQLArg1=-ed:\\Program Files\\Microsoft SQL Server\\MSSQL\\log\\ERRORLOG
SQLArg2=-ld:\\Program Files\\Microsoft SQL Server\\MSSQL\\data\\mastlog.ldf
用户登录信息以及密码存储在Master数据库。
所有帐套的配置信息,包括帐套数据文件的存储位置也存储在Master数据库。
根据以上的信息,我们可以找到快速迁移的方法:
在64位服务器上安装数据库时,SQLServer应用的路径、数据库的路径一定和32位服务器的SQLServer应用的路径、数据库的路径保持一致。(这里指的数据库路径是指Master、Tempdb等系统自带的数据库所在的路径,而不是业务数据库所在的路径)
1.1 如何知道32位服务器的SqlServer应用所在路径。
在32位服务器上从企业管理器快捷方式的属性页的起始位置,记录着SQLServer应用的路径。
1.2 如何知道SQLServer数据库的路径
在32位数据库服务器的查询分析器中,运行sp_HelpDevice,可以看到所有数据库文件所在的路径。
由上图可知系统数据库文件存储在D:\Program Files\Microsoft SQL Server\MSSQL\Data,因此把32位服务器D:\Program Files\Microsoft SQL Server\MSSQL\Data的Master等数据库文件复制到64位服务器的D:\Program Files\Microsoft SQL Server\MSSQL\Data下,复制前应停止32位服务器、64位服务器的SqlSever服务。
由上图可知业务数据库cwmaster、Tempdb01存储在e:\cwdata,因此将32位服务器e:\cwdata下的所有文件复制到64位服务器对应目录中,建议使用RichCopy这样的快速拷贝软件进行拷贝,有助于缩短拷贝时间。
使用32位版企业管理器连接63位数据库服务器,注意此时sa的密码不是64位服务器的原始密码,而是32位服务器的密码。(64位SqlServer2000中,没有企业管理软件和查询分析器等软件,因此需要使用客户端的32位SqlServer2000上的企业管理器、查询分析器等客户端)。
在企业管理起中检查所有数据库文件状态,如果数据库上打着质疑的标记。则说明该数据文件没有拷贝过来,请重新拷贝。
6、如果客户使用的是CS 版软件,为了避免更改所有客户端的数据连接配置文件,请32位服务器的计算机名、IP改为别的服务器名称、IP地址,将64位服务器的计算机名、IP地址修改为32位服务器原来的计算机名、IP地址。如果客户使用的BS版软件,则需要修改应用服务器中所记录的数据库IP地址等信息。
显示全部