之前客户那里有遇到过两例 SQL Server 服务无法启动的故障。这里总结一下比较常见的 SQL 2000 SQL Server 服务无法启动的解决步骤和方法。
表现如下
开机后右下角的 SQL Server 服务处于停止状态,手动启动无效,并且无任何提示。
查看 「事件查看器」-「应用程序」,有出现 MSSQLSERVER 错误。
有如下错误信息(model 损坏):
错误: 9003,严重度: 20,状态: 1
The LSN (6:416:1) passed to log scan in database 'model' is invalid.错误: 9003,严重度: 20,状态: 1
LSN (6:416:1) 无效。该 LSN 是传递给数据库 'model' 中的日志扫描操作的。
或者如下错误信息(master 损坏):
错误: 2775、3313、3456 等。。。
导致 SQL Server 服务无法启动的原因
均是由于突然断电,导致 model 或者 master 系统数据库损坏
最简单的解决方法(覆盖系统数据库文件)
- 先备份自建的数据库文件和相应的日志文件
- 找来 SQL Server 安装盘,将 X86\Data 目录下的 MOLDEL.MDF 和 MODELLOG.LDF(或 MASTER.MDF 和 MASTERLOG.LDF)两个文件复到 SQL Server 的安装目录下的 MSSQL\Data 目录下,覆盖同名文件
- 然后去掉这两个文件的只读属性
- 这个时候启动 SQL Server 服务即可
- 再检查一下自建数据库文件有无错误
用这个方法要注意:SQL Server 安装盘的版本要和现在 SQL Server 程序版本一致(包括补丁的版本)。
其他解决办法
备份自建的数据库文件后,重装 SQL Server 程序(相当于重建所有系统数据库)。