SQL SERVER 2008 MASTER数据库损坏修复

时间:2022-10-20 21:43:44

测试服务器SQL 2008挂掉了

查看了下系统日志,报如下错误:

传递给数据库 'master' 中的日志扫描操作的日志扫描号 (292:40:1) 无效。此错误可能指示数据损坏,或者日志文件(.ldf)与数据文件(.mdf)不匹配。如果此错误是在复制期间出现的,请重新创建发布。否则,如果该问题导致启动期间出错,请从备份还原。

数据库无法启动,何来的还原阿。

SQL SERVER2008 修复的方法,不同于以往的2000数据库。

修复过程如下:

一、重新生成 SQL Server 2008 实例的系统数据库:

1.将 SQL Server 2008 安装介质插入到磁盘驱动器中,或者在本地服务器上,从命令提示符处将目录更改为 setup.exe 文件的位置。在服务器上的默认位置为 C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release。

2.在命令提示符窗口中,输入以下命令。方括号用来指示可选参数。不要输入括号。在使用 Windows Vista 操作系统且启用了用户帐户控制 (UAC) 时,运行安装程序需要提升的特权。必须以管理员身份运行命令提示符。

Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName /SQLSYSADMINACCOUNTS=accounts /[ SAPWD= StrongPassword ] [ /SQLCOLLATION=CollationName]

参数名称  说明 
/QUIET 或 /Q
 指定在没有任何用户界面的情况下运行安装程序。
 
/ACTION=REBUILDDATABASE
 指定安装程序将重新创建系统数据库。
 
/INSTANCENAME=实例名称
 是 SQL Server 实例的名称。对于默认实例,请输入 MSSQLSERVER。对于命名实例,请以 server_name\instance_name 格式输入其名称。
 
/SQLSYSADMINACCOUNTS=帐户
 指定要添加到 sysadmin 固定服务器角色中的 Windows 组或单个帐户。指定多个帐户时,请用空格将帐户隔开。例如,请输入 BUILTIN\Administrators MyDomain\MyUser。当您在帐户名称内指定包含空格的帐户时,用双引号将该帐户引起来。例如,输入 NT AUTHORITY\SYSTEM。
 
[ /SAPWD=强密码 ]
 指定 SQL Server sa 帐户的密码。如果实例使用混合身份验证(SQL Server 和 Windows 身份验证)模式,则此参数是必需的。

安全说明:
sa 帐户是一个广为人知的 SQL Server 帐户,并且经常成为恶意用户的攻击目标。因此,为 sa 登录名使用强密码非常重要。

不要为 Windows 身份验证模式指定此参数。
 
[ /SQLCOLLATION=排序规则名称 ]
 指定新的服务器级排序规则。此参数可选。如果没有指定,则使用服务器的当前排序规则。

重要提示:
更改服务器级排序规则不会更改现有用户数据库的排序规则。默认情况下,所有新创建的用户数据库都将使用新排序规则。

查询帮助信息 setup /?

 

3.在安装程序完成系统数据库重新生成后,它将返回到命令提示符,而且不显示任何消息。请检查 Summary.txt 日志文件以验证重新生成过程是否成功完成。此文件位于 C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Logs。


二、重新生成数据库后,您可能需要执行以下额外任务:

 

应用最新的 Service Pack 和任何适用的修补程序。

还原 master、model 和 msdb 数据库的最新完整备份。

如果没有备份或者还原的备份不是最新的,请重新创建所有缺失的条目。例如,重新创建用户数据库、备份设备、SQL Server 登录名、端点等缺少的所有条目。重新创建这些条目的最佳方法是运行创建它们的原始脚本。

如果将 SQL Server 实例配置为复制分发服务器,则必须还原分发数据库。

将系统数据库移到您以前记录的位置。

验证服务器范围的配置值是否与您以前记录的值相符。

注意:

如果没有备份MASTER数据库,只能附加用户数据库,然后手工设置账号信息等。