客户机上的SQL Server访问速度很慢

我今天在一个客户站点上安装了一些自定义软件,用于访问驻留在客户端站点上的服务器上的SQL Server 2005数据库。

当直接在服务器上运行时,软件运行良好,问题是软件在客户端机器上运行,涉及访问SQL数据库的任何事情都会使PC彻底停止几秒钟。 客户端和服务器上的CPU使用率都很低,两者的内存使用情况都不错。

客户端机器上的其他function似乎足够快,即。 互联网,excel,文字等

自定义软件安装在其他几个不同的客户端站点和SQL访问速度不是一个问题,所以我99%肯定它不是软件相关。 客户机和服务器都在3 – 4年左右,但在过去的6个月内已经完全格式化并重新安装。

所有3台机器都非常相似硬件明智:
奔腾4 2.66GHz
1GB内存(服务器2GB)
Windows XP(自动更新打开,所以我认为补丁是最新的)
全部连接到100MBnetworking

有没有人有任何想法可能导致客户机SQL访问速度太慢,或者我可以用什么工具(最好是免费的)来尝试和诊断问题?

既然你说的CPU和内存看起来不错,我会看看有线和客户端要求服务器执行的查询。

在客户端上,我会为Wireshark做一个游戏,看看客户端和服务器之间的对话是什么样的(延迟,重传等等)。 但是,我不认为我只能把客户端和服务器的对话范围缩小,但是在客户端的前几个捕获过程中,以防万一客户端正在发送一些其他数据包(虚假的名称parsing请求,尝试连接到其他服务等),可能会给你一个线索。

在服务器上,SQL Server Profiler跟踪可以为您提供有关客户机请求的内容以及服务器如何响应的相当低级别的信息。 Microsoft提供了一个基本的操作指南文档,以帮助您入门。

可能是客户端试图首先连接服务器没有监听的协议。 例如,客户端尝试通过SMB的第一个networkingpipe道,当超时,他们尝试TCP(这是默认行为,顺便说一句)。 如果服务器没有在netpipes上进行监听,或者客户端上的NetBIOS / SMB基础结构存在问题,则连接将显得非常慢。 在服务器上连接时,它将直接连接到共享内存并立即生效。

请参阅configuration客户端networking协议以了解如何(全局)更改客户端计算机上的networking设置。 或者尝试使用强制特定协议的连接string,如datasource=tcp:hostname,port 。 另外,请检查服务器networkingconfiguration以查看正在积极监听的服务器的协议。

感谢上面的post,以帮助我缩小问题(我没有声望来投票他们:()

经过大量的设置等困扰之后,出于好奇,我改变了客户端机器上SQL服务器的连接string,使用它的主机名来引用服务器来使用它的IP。 这立即解决了这个问题,一切都运行良好。

我认为这是由于“服务器”实际上并没有运行一个服务器操作系统(它运行XP的networking上的另一台机器),所以没有适当的DNS / WINS服务器来做主机名的翻译?

无论哪种方式现在工作,感谢您的帮助。