由于master数据库保留了数据库服务器的基本配置信息,如果该数据库坏了,一般整个SQL server服务实例都无法运行。所以也无法以常规的方法对它进行数据库恢复工作。
1. 如果Master数据完全坏,需要从备份文件中恢复。由于该文件坏了,SQL server 2000服务根本不能启动,可能要重装SQL server。重装过程如下:
2. 完全卸载现在的SQL server
u 备份好原来的数据库文件,一般是指D:\Program Files\Microsoft SQL Server\MSSQL \Data目录下的所有文件。
u 通过控制面板添加删除程序进行卸载SQL server,如果卸载过程中出错,不能进行下去。运行SQL server安装程序。在选项中选高级—注册表修复。进行了注册表修复安装以后,一般都能完全卸载SQL server。
u 删除整个SQL server程序目录,一般默认安装目录是C:\Program Files\Microsoft SQL Server。整个删除这个目录。
u 移走数据库文件目录的Master数据库文件,一般是D:\Program Files\Microsoft SQL Server\MSSQL \Data目录下的master.mdf和mastlog.ldf。这步很重要,如果不移走,新装的SQL server实例会仍然不能运行。但其它数据库的库文件不要移走了,以便下一步恢复。
u 运行regedit删除注册表中关于SQL server的键值,整个目录全删掉。HKEY_CURRENT_USER\Software\Microsoft\MSSQLServer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
一般进行以上操作后,就完全卸载了现有的SQL server。如果不完全卸载的话,经常出不能安装现新的SQL server实例的情况。
3. 重新安装SQL server实例:注意SQL server程序文件目录和数据库目录要跟以前保持一样,安装的实例名也要跟原来保持一致,不要变动。安装成功后,把以前的用户数据库文件也移回到数据库目录D:\Program Files\Microsoft SQL Server\MSSQL \Data,注意Master database的数据库文件不要用原来的了。
4. 如果原来SQL server 打了SP3补丁,仍然需要再打上这个补丁,不然Master数据库不能恢复。
5. 关掉SQL server服务,以单用户的方式运行SQL server服务:打开控制台窗口(Dos窗口),把当前目录定位到C:\Program Files\Microsoft SQL Server\MSSQL \Binn,运行以下命令:
Sqlservr.exe –m
控制台提示能进行客户端连接时,表示运行成功。
6. 打开SQL server企业管理器,以还原普通数据库一样的方式对Master数据库进行备份恢复,还原成功后,SQL server会提示要重启服务器。重启后,你会发现所有的数据库都已经恢复成原来样子,包括database中的所有Login帐号及密码。
7. 如果Master数据库没有坏,只是要还原到以前状态,可直接从第5步开始运行。