SQL 数据库服务无法启动,日志描述中出现 2775、3313、3456 错误的解决

一个思迅服装之星连锁版客户,其中一个门店早上开机营业的时候,SQL 2000 服务无法自动启动。在 「SQL Server 服务管理器」 中手动启动也无法启动,且无任何错误提示;在 「服务」 中启动 「MSSQLSERVER」 服务时出现如下错误提示:

在本地计算机无法启动 mssqlserver 服务。 服务并未返回错误。这可能是一个 windows 内部错误或服务内部错误。 如果问题持续存在,请与您的系统管理员联系。

(我后来在其他机器上尝试还原错误的时候出现的错误信息和上面的不一样,如下:

本机计算机上的 MSSQLSERVER 服务启动后又停止了。一些服务自动停止,如果他们没有什么可做的,例如 「性能日志和警报」 服务。)

不过查看 「事件查看器」,都出现了 3 个同样的错误日志:2775、3313、3456,如下图:

2775 3313 3456

出现上述错误一般是因为 SQL Server 的 master 数据库损坏,重新安装 SQL 可解决(记得事先备份数据和日志文件)。

还有一种方法就是通过其他机器上的数据重建 master 数据库(比如其他门店,因为数据库环境都是一样的)。

通过其他机器上的数据库文件重建 master 的操作如下:

  1. 先备份本机的 data 文件夹
  2. 将本机 Microsoft SQL Server\MSSQL\Data 目录改名为 data_bak 目录,然后从其他机器上把 Data 文件夹拷过来随便放到哪(只拷贝 data 目录里面系统数据)。注意不能放到 Microsoft SQL Server\MSSQL\Data 这个目录。
  3. 接着打开本机 C:\Program Files\Microsoft SQL Server\80\Tools\Binn 文件夹,找到 rebuildm.exe 程序并运行,以重建 master。选择文件,按旁边的浏览,指向刚刚从其他电脑上拷过来的那个 data 文件夹,点 「重建」,等待提示成功(有时可能也提示失败,但不要紧,因为是从另外的电脑拷过来的,数据库文件链接不一样),点确定后就可以启动 SQL 服务了,有时启动不了的话要机器重启一下就可以了。
  4. 这时把之前的数据库再拷进 Data 目录,再附加上去就行了,再把显示质疑的数据库都删掉。
  5. 用这个方法应注意的问题:两个数据库环境要一致,数据库的版本相同(包括补丁的版本),否则会提示错误,不能进行还原!

另一种方法就是重新安装 SQL Server 2000,然后再将数据库文件附加上去就可以了。都要记得事先备份 data 文件夹。

出现这个错误也有其他可能的原因,比如修改了注册表、计算机名称、用户名密码等。客户的情况千差万别,要有耐心和细心,特别是要多查看 Windows 的 「事件查看器」,根据里面的错误代码找原因。

参考链接:sql2000 无法启动, 本地计算机上的 MSSQLSERVER 服务启动后又停止了 (18052: 错误: 3456,严重度: 21,状态: 1。错误: 3313,严重度: 21,状态: 2。错误: 2775,严重度: 16,状态: 1。)

2 comments on “SQL 数据库服务无法启动,日志描述中出现 2775、3313、3456 错误的解决

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注