作为一名微软SQL Server的管理员,您必须知道如何修复一个崩溃的主数据库。主数据库保存有您的登录信息,以及最重要的、指向您所有数据库的指针。如果没有主数据库,您就无法成功地启动SQL Server。在本文里,我将向您介绍在发生崩溃的情况下如何修复主数据库,并告诉您如何重建主数据库,如果有必要的话。
制定预案
制定一个应对崩溃和/或主数据库故障的预案十分重要。这将有助于您在碰到灾难的情况下按照既定的方法进行处理,而不是迫于压力仓促作出反应。我碰到过很多很容易就陷入惊慌的状况,但是由于保持冷静并按照正确的方法来处理问题,我最后成功地度过了所有的困境。
如何判断主数据库已经崩溃
在正式开始讨论碰到系统故障如何修复和重建的主数据库之前,我们需要先了解如何辨别它已经崩溃了。要说明这一点,我会弄垮一个主数据库,告诉您主数据库崩溃会发生什么样的症状。
现在让我们假设您的公司碰到了电涌,造成SQL Server重启。在重新启动的时候,SQL Server却没有正常启动。如果查看错误日志,您会看到主数据库崩溃或者丢失。既然您知道需要查看什么信息,那就让我们看看如何修复主数据库。
修复您的主数据库
修复主数据库的第一步是使用“重建向导(Rebuild Wizard,Rebuildm.exe),它放在Program FilesMicrosoft SQL Server80ToolsBINN目录下。现在就让我们来看看重建向导是如何工作的。
在这个对话框里,您可以指定数据库服务器的修复设置,以及原始安装的数据文件的位置。要让这一过程更容易和更快,就要把x86目录从SQL的光盘上复制到硬盘上,并把指向改到本地的副本。一旦验证完了所有的信息,点击“重建(Rebuild)”。然后系统就会提示您确认操作。
点击“确定(Yes)”。一旦重建过程完成,您会看到一条重建成功的消息。您现在就有了一个全新的主数据库,准备好修复主数据库了。
首先,打开命令行提示符,输入Program FilesMicrosoft SQL ServerMSSQLBINN目录下的sqlservr.exe –c –m命令,启动单用户模式下的SQL Server。
在单用户模式下启动SQL Server之后,您可以利用备份文件修复主数据库。您可以用“查询分析器(Query Analyzer)”或者“SQL企业管理器(SQL Enterprise Manager)”来修复它。如果使用查询分析器,您就要像图E一样运行查询。
如果使用企业服务器,就要右击主数据库,选择“所有任务|修复数据库(All Tasks | Restore Database)”,浏览到您设备所在的位置。点击两次“OK”,您就可以成功地修复主数据库了。修复完主数据库,退出单用户模式,在正常的操作模式下重新启动SQL Server。
如果由于某种原因您的修复操作无法成功完成,那么您可以试试别的方法。只用简单地重建主数据库并添加驻留在数据目录下的所有数据库就可以了。您可以用企业管理器或者查询分析器来添加数据库。在企业管理器里,右击“数据库(Databases)”,选择“添加数据库(Attach Database)”,在查询分析器里,用示例脚本就能够添加您的数据库了。
结束语
既然已经知道了如何在碰到灾难的情况下成功地重建主数据库,那么您可以把这些技术增加到灾难修复预案中去。这样的话,您就不用再在SQL Server的主数据库崩溃导致数据库服务器停止工作的情况下不知所措了。