master数据库损坏的解决办法有哪些
SQLServer2008master数据库损坏后,SQLSERVER服务启动失败,查看错误日志,你会看到下面错误信息:
2015-10-2710:15:21.01spid6s Startingupdatabase'master'.
2015-10-2710:15:23.01spid6s 错误:9003,严重性:20,状态:1。
2015-10-2710:15:23.01spid6s Thelogscannumber(227:418:1)passedtologscanindatabase'master'isnotvalid.Thiserrormayindicatedatacorruptionorthatthelogfile(.ldf)doesnotmatchthedatafile(.mdf).Ifthiserroroccurredduringreplication,re-createthepublication.Otherwise,restorefrombackupiftheproblemresultsinafailureduringstartup.
2015-10-2710:15:23.01spid6s Cannotrecoverthemasterdatabase.SQLServerisunabletorun.Restoremasterfromafullbackup,repairit,orrebuildit.Formoreinformationabouthowtorebuildthemasterdatabase,seeSQLServerBooksOnline.
如果是数据库版本是中文版,你会看到类似下面的错误信息:
传递给数据库'master'中的日志扫描操作的日志扫描号(227:418:1)无效。此错误可能指示数据损坏,或者日志文件(.ldf)与数据文件(.mdf)不匹配。如果此错误是在复制期间出现的,请重新创建发布。否则,如果该问题导致启动期间出错,请从备份还原。
此时解决master数据库的损坏的方法大致有三种:
1:从备份还原master数据库
还原master数据库的前提是你的master有做备份。千万谨记,master也必须备份。很多时候,有些人备份时会忽略这些系统数据库。一般master、msdb备份是必须的。
2:复制master数据库模板
如果你没有master备份,那么退而求次,选择从安装目录的Templates拷贝master数据库文件到对应的目录。如果你SQLSERVER安装在C盘,没有修改过安装路径,那么可能就是C:\ProgramFiles\MicrosoftSQLServer\MSSQL10.MSSQLSERVER\MSSQL\Binn\Templates
3:重建master数据库
找到SQLServer2008的安装介质(插入光盘或拷贝介质到对应目录),在命令窗口将目录更改为setup.exe文件所在目录,然后运行下面命令(具体结合实际情况修改相关参数)
setup.exe /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=instance_name /SQLSYSADMINACCOUNTS=accounts [/SAPWD=password] [/SQLCOLLATION=collation_name]
当然有很多细节,如果数据库安装后打过补丁,做过升级,可能需要重新应用这些补丁。
以上内容是关于master数据库损坏的解决办法,希望对大家有所帮助。