`

MSSQL2008 还原master数据库

 
阅读更多

SQLServer的数据库还原比较简单,用企业管理器操作就行了。可是master数据库损坏了,连服务都启动不了了,那该如何还原呢。

1、首先,必须先重新建立一个可以使用的master数据库,使服务可以启动起来。

在C盘的SQL共享文件夹下找到setup.exe文件,默认存放在C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release文件夹。

单击开始菜单,运行,输入cmd回车。

在命令窗口中输入 cd C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release 转到安装目录

然后再输入 setup.exe /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQL2008 /SQLSYSADMINACCOUNTS="WWW-CC04E3DA6C9\Administrator" /SAPWD=yjj 开始重建master 

/QUIET代表静默安装,也就是重建过程不会弹出任何界面

/ACTION=REBUILDDATABASE  代表指定动作为重建数据库

/INSTANCENAME=MSSQL2008指定实例名称,这里使用了MSSQL2008这个实例,默认实例请修改为 /INSTANCENAME=mssqlserver

/SQLSYSADMINACCOUNTS=WWW-CC04E3DA6C9\administrator 域管理员,WWW-CC04E3DA6C9 是计算机名称

/SAPWD=yjj 这里指定SA账号的密码

确定之后就开始重建了,因为指定了静默安装,在重建完成前不会有任何提示。

等待一会之后重建完成。现在数据库服务已经可能启动了,但是master数据库里的所有配置全部丢失,所以必须还原master。


2、从备份服务器上将master的备份文件 master_backup_2011_04_18_010002_6161640.bak 拷贝到C盘。

尝试还原数据库,会提示失败,这是因为master数据库必须在单用户模式下才能还原。


以单用户模式还原master数据库步骤:

首先我们停止所有的SQL相关服务,并且并闭掉连接SQL的企业管理器。

然后在SQL安装目录下找到 sqlservr.exe 文件,假设这里设定的目录是 D:\Microsoft SQL Server\MSSQL10.MSSQL2008\MSSQL\Binn\

现在在命令窗口下输入命令

d:

cd Microsoft SQL Server\MSSQL10.MSSQL2008\MSSQL\Binn\

sqlservr.exe -c -f -m -s MSSQL2008

–c    缩短从命令提示符启动SQLServer 的启动时间,此参数可忽略

 - f    以最省资源模式启动,此参数可忽略

 - m    指定在单用户模式下启动SQL Server 实例

- s MSSQL2008    启动指定的实例,这里的MSSQL2008是实例名,若使用默认实例此参数可忽略


没有出现错误信息,单用户模式就启动成功了。

 

3、还原master数据库。

现在打开企业管理器,新建一个查询,再次输入还原语句。

RESTORE DATABASE master FROM DISK='C:\master_backup_2011_04_18_010002_6161640.bak' WITH REPLACE

现在可以看到还原已经成功了。并且SQL服务被自动关闭了。


现在重新启动SQL服务,检查master数据库是否正常使用

结果发现,使用Windows账户登录失败了,这是因为master备份是从另一台计算机上拷贝过来的,所以在master库中的账户信息与本机不符。只须使用sa账户登录,并在安全性账户中作相应修改即可。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics