【问题标题】:SQL2005 Express slow from remote VB6 application远程 VB6 应用程序的 SQL2005 Express 速度慢
【发布时间】:2008-09-29 10:22:57
【问题描述】:

我有一个使用 MSDE 构建的旧版 VB6 应用程序。

随着许多客户的数据库增长到 MSDE 2 GB 的限制,它们会升级到 SQL 2005 Express。

直到今天,这已被证明非常成功。

当通过“网络”连接 SQL 2005 Express 命名实例时,我花了一整天的时间对客户端网络进行故障排除,在该网络上我们的应用程序运行速度异常缓慢。

我说“网络”是因为它只有两台 XP SP2 机器——这里没有专用服务器。没有广告。

为了解决这个问题,我在两台机器上都安装了 SQL 2005 Express,并在两台机器上放置了我们数据库的副本。我什至使用我们现在拥有的 SQL2005 Express 安装例程完全重新安装了我们的应用程序。是恢复旧的 MSDE 数据库还是使用新创建的 SQL 2005 Express 数据库没有区别。

运行我们的应用程序并连接到任何一台机器的本地服务器时,性能都很好。一旦您将任何一台 PC 上的应用程序连接到另一台 PC 上的服务器,它的速度就会非常慢。 (无论组合如何)。

现在,我已经重建了统计信息 (exec sp_updatestats),重建了所有索引,禁用了(暂时)防火墙和病毒软件,并抓住了无数其他的救命稻草。

我已经求助于在两台机器上运行 FileMon 和 ProcessMon,甚至编写了一个小测试应用程序来简单地连接和查询数据库中的表。它的运行速度也很慢 - (连接大约需要 5 - 6 秒)。

当 SQL Server 写入日志文件 (c:\program files\microsoft sql server\mssql.1\log files\log_12.trc) 时,监视器(文件和进程)显示延迟。

其他工具,如 SQL Management Studio Express 甚至 SSEUtil(我发现的一个 SQL Server Express 诊断实用程序)在从客户端连接到服务器时运行良好。查询(甚至是大型查询)会按预期运行。

我确信这个问题是环境问题,因为我们有这么多网站运行似乎相同的设置,没有这样的问题。

谁能告诉我我应该做些什么来隔离这个问题,甚至提供任何可以帮助解决这个问题的线索或建议?

【问题讨论】:

    标签: sql-server-2005-express


    【解决方案1】:

    制作一个清单并系统地完成它:

    在此处添加所有帖子的所有建议,并在下面添加一些建议:

    1. 网线
    2. 网络速度
    3. 对硬盘进行碎片整理
    4. 没有网络错误 - 执行 ping 并查找丢失的数据包
    5. 每台机器的内存
    6. 处理器
    7. 病毒

    等等。等等,

    【讨论】:

    • 谢谢约翰布。我与站点的网络管理员一起采用了一种非常务实的方法——我们是软件供应商。看起来这将结束 pu 作为机器的完整重建。令人沮丧!故障排除现在已经彻底,包括您描述的方法。
    • 是的 - 我一直打算接受这个答案,但真的想添加一些关于决议结果的细节。可能不会发生。谢谢mm2010
    【解决方案2】:

    这可能是由于缓存的查询计划不代表数据,即使您已经重建了索引和刷新了统计信息。您描述的症状(即查询在 SSMS 中运行良好但从应用程序中运行良好)通常是由错误缓存的查询计划引起的。 SSMS 在幕后发出“WITH RECOMPILE”。如果您正在调用存储过程,请在其定义中临时添加“WITH RECOMPILE”并检查结果。

    【讨论】:

      【解决方案3】:

      您是否尝试过从另一台机器连接到“服务器”PC?会发生什么?

      您是否尝试过将“客户端”连接到另一台“服务器”机器?会发生什么?

      问题可能只是像易碎的网卡或电缆这样普通的东西。

      在您进一步绞尽脑汁之前可能值得检查一下...

      【讨论】:

      • 谢谢迈克。这里的图片中只有两台 PC,并且无论哪种方式的通信都很慢——但这并不排除易碎的网卡。如果有的话,我明天会从笔记本上尝试。谢谢。
      • 更新 - 所有电缆、路由器、网络驱动程序等都已更换。还是不行。
      【解决方案4】:

      您在“表面配置”工具中启用了哪些网络协议?您可以更改连接字符串以使用(临时)硬编码的 IP 地址吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-24
        • 2022-11-19
        • 2021-05-28
        • 2012-10-06
        • 1970-01-01
        • 2014-09-28
        • 1970-01-01
        相关资源
        最近更新 更多