32位MSSQLServer快速迁移到64位的⽅法
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的结构。
1、在数据库服务器的注册表⾥记录着Master所在位置。运⾏注册表编辑器,选择查功能,查内
容为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"
2、⽤户登录信息以及密码存储在Master数据库。
3、所有帐套的配置信息,包括帐套数据⽂件的存储位置也存储在Master数据库。
根据以上的信息,我们可以到快速迁移的⽅法:
1、在64位服务器上安装数据库时,SQLServer应⽤的路径、数据库的路径⼀定和32位服务器的SQLServer应⽤
的路径、数据库的路径保持⼀致。(这⾥指的数据库路径是指Master、Tempdb等系统⾃带的数据库所在的路径,⽽不是业务数据库所在的路径)
1.1 如何知道32位服务器的SqlServer应⽤所在路径。
在32位服务器上从企业管理器快捷⽅式的属性页的起始位置,记录着SQLServer应⽤的路径。
1.2 如何知道SQLServer数据库的路径sql连接不上服务器
在32位数据库服务器的查询分析器中,运⾏sp_HelpDevice,可以看到所有数据库⽂件所在的路径。
2、由上图可知系统数据库⽂件存储在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服务。
3、由上图可知业务数据库cwmaster、Tempdb01存储在e:\cwdata,因此将32位服务器e:\cwdata下的所有⽂件复
制到64位服务器对应⽬录中,建议使⽤RichCopy这样的快速拷贝软件进⾏拷贝,有助于缩短拷贝时间。
4、使⽤32位版企业管理器连接63位数据库服务器,注意此时sa的密码不是64位服务器的原始密码,⽽是32
位服务器的密码。(64位SqlServer2000中,没有企业管理软件和查询分析器等软件,因此需要使⽤客户端的32位SqlServer2000上的企业管理器、查询分析器等客户端)。
5、在企业管理起中检查所有数据库⽂件状态,如果数据库上打着质疑的标记。则说明该数据⽂件没有拷贝过来,
请重新拷贝。
6、如果客户使⽤的是CS 版软件,为了避免更改所有客户端的数据连接配置⽂件,请32位服务器的计算机名、IP改为别的服务器名称、IP地址,将64位服务器的计算机名、IP地址修改为32位服务器原来的计算机名、IP地
址。如果客户使⽤的BS版软件,则需要修改应⽤服务器中所记录的数据库IP地址等信息。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。