转自:
问题
有时候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服务了。
————————————————
版权声明:本文为csdn博主「于云秀」的原创文章
原文链接: