MSSQL重启后无法启动问题排查

1. 确认问题现象

当MSSQL重启后无法启动,需要确认问题现象,例如错误提示信息、日志文件内容等。

首先查看错误日志,可以找到类似以下信息:

2019-12-09 12:01:08.61 Server Error: 17113, Severity: 16, State: 1.

2019-12-09 12:01:08.61 Server Error 2(The system cannot find the file specified.) occurred while opening file 'F:\\Microsoft SQL Server\\MSSQL12.MSSQLSERVER1\\MSSQL\\DATA\\master.mdf' to obtain configuration information at startup. An invalid startup option might have caused the error. Verify your startup options, and correct or remove them if necessary.

上面的错误提示信息表示,当启动MSSQL时,无法找到文件“master.mdf”。这可能是由于启动选项中存在无效选项导致的。需要验证启动选项,并根据需要进行更正或删除。

2. 验证启动选项

验证MSSQL Server的启动选项,可以通过以下步骤完成:

2.1. 使用命令行

使用管理员权限打开命令行,并输入以下命令:

sqlservr.exe -c -f -T3608

上面的命令将以单用户模式启动MSSQL Server。可以通过执行以下命令检查启动参数:

exec sp_configure

可以在返回的结果中找到各个配置项的值。可能需要针对特定的问题进行修改。

2.2. 使用配置管理器

可以使用SQL Server 配置管理器来查看、更改、测试和维护SQL Server 实例设置。可以按照以下步骤查找和更改启动参数:

1. 打开SQL Server 配置管理器

2. 选择配置管理器中的SQL Server Services

3. 右键单击社区实例(MSSQLSERVER),选择属性

4. 单击“启动参数”选项卡,可以查看、更改启动参数

3. 恢复数据库文件

在一些情况下,MSSQL Server无法启动的原因是数据库文件损坏或缺失。可以通过以下步骤恢复数据库文件:

3.1. 检查数据库文件和日志文件

可以先检查数据库文件和日志文件是否存在,是否存在锁定或损坏等问题。

3.2. 从备份文件恢复数据库文件

可以从数据库的备份文件中恢复数据库文件。

3.3. 使用DBCC CHECKDB修复数据库文件

可以使用MSSQL Server提供的命令DBCC CHECKDB来检查和修复数据库文件。例如:

USE master;

GO

ALTER DATABASE AdventureWorks2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

GO

DBCC CHECKDB (AdventureWorks2012, REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS;

GO

ALTER DATABASE AdventureWorks2012 SET MULTI_USER;

GO

上面的代码将AdventureWorks2012数据库设置为单用户模式,使用DBCC CHECKDB命令检查和修复数据库,最后再将数据库设置为多用户模式。

4. 总结

当MSSQL Server重启后无法启动时,可以根据错误提示信息检查配置文件和日志文件,验证启动选项,并使用恢复文件或检查数据库修复的方法来解决问题。在操作前需要备份好相关文件。

数据库标签