0
点赞
收藏
分享

微信扫一扫

SQL还原master数据库应注意的问题


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

举报

相关推荐

0 条评论