问题
有时候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服务了。