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