客服开关
QQ扫码联系客服81962480
微信扫码联系客服HOTCMS
81962480 HOTCMS
返回顶部
 手机版 | 官方Q群 | QQ登录 | 登陆 | 注册 | 授权查询 | 反馈留言 | 设为首页 | 加入收藏
常见问题
当前位置: 网站首页 > 帮助文档 > 常见问题 > 文章

sqlserver2005 2008数据库慢,导致网站访问慢的原因分析

原因排查的思路与步骤:

打开两个网站程序的首页ASP文件,发现访问快的网站没有数据库查询,访问慢的网站查询了数据库。由于程序里的数据库查询语句也很简单,排除了程序和数据库查询语句的问题,最后将问题定位到数据库SQL Server上;
打开SQL Server 2005 上面就一个数据库,随便在SQL Server Management Studio上执行了两个复杂点的查询语句,速度很快,感觉不像是数据库查询速度的问题。
系统CPU、内存负载都不高。实在找不到原因了。就打开命令提示符,用netstat-ano检查了下网络连接。发现只有sqlserver的1434端口在监听,竟然没有sqlserver的1433端口在监听和连接,但是没有监听和连接网站为何却能访问。想着是否sqlserver修改了监听端口了。
打开SQL Server2005的SQL Server 配置管理器SQL Server 2005 网络配置->MSSQLSERVER的协议->TCP/IP ,发现TCP/IP竟然是禁用的,协议里只开启了Shared Memory 。属性里面设置的监听端口倒是默认的1433.于是将TCP/IP启用。重启了SQL Server服务后打开网站速度就很快了。
问题算是解决了。原因就是由于没有开启SQL Server 里的TCP/IP协议,使用了Shared Memory的方式连接数据库,所以造成网站访问很慢。


原因是数据库连接语句不对:

原有的连接语句是:
Provider=Sqloledb;User ID=数据库帐号;Password=数据库密码;InitialCatalog=数据库名;Data Source=数据库IP;
该语句在原有服务器下没有任何问题,但是换到新的服务器环境下不行。
解决方法就是将连接语句换成下面的:

Driver={SQL SERVER};Server=数据库IP;UID=数据库帐号;PWD=数据库密码;Database=数据库名;


TCP自动调节级别参数设置问题:

Windows Server 2008服务器上访问SQL Server,无论是连接登录,还是查询访问,都很慢。这个可能是Windows Server 2008的TCP自动调节级别参数设置问题。

以Administrator权限执行命令行:
netsh interface tcp set global autotuninglevel=disabled
打开自动调节的命令是:
netsh interface tcp set global autotuninglevel=normal

上一篇:windows server 2003 2008 的64位操作系统不支持access数据库解决方法

下一篇:百度熊掌号注册及绑定站点大概介绍

QQ客服 81962480
微信客服 HOTCMS
QQ群
备案ICP编号  |   QQ:81962480  |  地址:北京市东城区  |  电话:12345678910  |   天人文章管理系统1
Powered by 55TR.COM Copyright © 2018 天人系列管理系统 授权所有,授权www.55tr.com使用