1.还原master数据库,要注意数据库的版本相同(包括补丁的版本),否则会提示错误,不能进行还原
2.执行第一步成功,但是打开数据库时出现错误,这种情况可能有很多情况,解决办法:
1)将master数据库还原为其他名的数据库,然后查看其中的表内容。如果成功,说明数据库没有问题。
RESTOREDATABASEMasterBak
FROMDISK='C:/TMP/Master.BAK' WITHFILE=1,
MOVE'master'TO'c:/MasterBak.mdf',
MOVE'mastlog'TO'c:/MasterBak.ldf',
REPLACE
GO
2)在命令方式下,输入sqlserver -c -m (检查SQL启动状况)
如果启动信息中提示某个系统数据库(如:model msdb Northwind pubs tempdb)路径不正确,原因是还原的master数据库中的系统数据库路径与原系统数据库路径不符。
解决办法:
可以通过修改master数据库中修改sysdatabases和sysdevices表各系统数据库的目录为新服务器的目录,执行语句如下:
EXECsp_configure'allowupdates',1 --更改当前服务器的全局配置设置
RECONFIGUREWITHOVERRIDE --强制重新配置
GO
UPDATEa.dbo.sysdatabasesSET
filename='d:/ProgramFiles/MicrosoftSQLServer/MSSQL/data/model.mdf'
WHERENAME='model'
UPDATEa.dbo.sysdevicesSET
phyname='d:/ProgramFiles/MicrosoftSQLServer/MSSQL/data/modellog.ldf'
WHERENAME='modellog'
GO
EXECsp_configure'allowupdates',0
RECONFIGUREWITHOVERRIDE
GO
注:此处假设原数据库存放路径'd:/ProgramFiles/MicrosoftSQLServer/MSSQL/data
3)修改后将此数据库备份,并还原到master数据库,重新启动SQL