1.还原master数据库,要注意数据库的版本相同(包括补丁的版本),否则会提示错误,不能进行还原
2.执行第一步成功,但是打开数据库时出现错误,这种情况可能有很多情况,解决办法:
1)将master数据库还原为其他名的数据库,然后查看其中的表内容。如果成功,说明数据库没有问题。
RESTORE DATABASE MasterBak
FROM DISK='C:/TMP/Master.BAK' WITH FILE=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 表各系统数据库的目录为新服务器的目录,执行语句如下:
EXEC sp_configure 'allow updates',1 --更改当前服务器的全局配置设置
RECONFIGURE WITH OVERRIDE --强制重新配置
GO
UPDATE a.dbo.sysdatabases SET
filename='d:/Program Files/Microsoft SQL Server/MSSQL/data/model.mdf'
WHERE NAME='model'
UPDATE a.dbo.sysdevices SET
phyname='d:/Program Files/Microsoft SQL Server/MSSQL/data/modellog.ldf'
WHERE NAME='modellog'
GO
EXEC sp_configure 'allow updates',0
RECONFIGURE WITH OVERRIDE
GO
注:此处假设原数据库存放路径'd:/Program Files/Microsoft SQL Server/MSSQL/data
3)修改后将此数据库备份,并还原到master数据库,重新启动SQL