转自:https://www.fengjunzi.com/blog-25573.html
问题
有时候sqlserver无法启动了,原因是mssqlserver服务没有启动,当你手动启动时,又出现服务无法响应的可恶错误提示。。。
笔者“有幸”遇到了,我的原因是第5个,禁用TCP/IP协议,现在总结下可能的原因及解决方案
解决方案
IP地址配置不正确:
打开 Microsoft SQL Server 2005配置工具下的SQL Server Configuration Manager,选择MSSQLSERVER协议, 然后双击右边窗口的TCP/IP,在弹出窗口中检查IP配置。
可能是因为VIA协议启用造成的。解决方法如下:
1)打开SQL Server 2008中的配置工具SQL Server Configure Manager,将VIA协议禁用.
2)重新启动SQL Server(MSSQLSERVER ),成功.
管理员密码修改也会造成sqlserver服务无法启动。解决方法如下:
打开 Microsoft SQL Server 2005配置工具下的SQL Server Configuration Manager,在MSSQLSERVER服务属性中,修改以哪个账号来启动服务。
我机器启动不了服务的原因就是启用了 “VIA”服务,禁用后,OK了。
安装的是SQL Server 评估版,180天的试用期后,MSSQLSERVER服务就无法启动,手动启动就报告17051错误。
解决办法:
- 第一步:进入SQL2008配置工具中的安装中心,
- 第二步:再进入维护界面,选择版本升级,
- 第三步:进入产品密钥,输入密钥
Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYB
Enterprise: JD8Y6-HQG69-P9H84-XDTPG-34MBB
- 第四步:一直点下一步,直到升级完毕。
用key升级成功后即可启动MSSQLSERVER服务。如果启动SQL SERVER管理器依然报告过期错误,则将注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\ConfigurationState,将其中CommonFiles的键值改为3。
然后再重复以上四个步骤,进行升级就OK了。
禁用TCP/IP协议。
问题的根源
上边写的解决方案,只能把问题解决,但是根本不了解为什么要这样做,有可能遇到同样的问题,这几个解决方案也不好使,最主要得知道为什么报错,到底是哪的原因,报错提示也说了==有关详细信息请参见事件日志或其他适用的错误日志==,那么日志在哪找呢问题又来了。
错误日志在哪
第一步
在桌面“计算机”图标上面点击右键,选择“管理”。
在计算机管理界面选择“事件查看器”。
进入事件查看器界面,在此可查看系统事件日志。
点击windows日志。
双击应用程序日志。
将应用程序日志展开后可以查询到详细信息。
第二步
根据系统提供的日志信息
打开查看,启动失败之后日志有一些信息(包括错误)
此处是禁用TCP/IP 协议,有的会提示端口被占用,把SQL Server (SQLEXPRESS)服务停掉或者改个端口就可以。如果报的是Named Pipes和VIA的错,就把这两个禁用,
其他的错,根据错误信息提示去排除。
禁用协议在哪里
- 打开Sql Server Configuration Manager
- 打开SQL Sever网络配置
- 打开MSSQLSERVER就看到TCP/IP协议了
禁用后就可以启动MSSQLSERVER服务了。
————————————————