为什么Windows 7上的数据库访问SQL Server速度较慢?

问题描述

| 我们使用sql Server 2000存储测试设备的结果。我们已经在Windows XP计算机上安装了测试软件,并且从数据库查询和写入数据库所花费的时间没有任何问题。 当我们最近安装Windows 7计算机时,数据库访问的时间似乎是其20到100倍。我们使用一个COM接口连接到sql Server,该接口传递一个包含服务器名称登录ID和数据库的连接字符串:
Provider=sqlOLEDB.1;
Persist Security Info=False;
User ID={Login name};
Initial Catalog={Database name};
Data Source={Server name}
我已经尝试过使用.net数据库接口,但这并不能在速度上带来任何显着的提高。 从Windows 7访问sql Server数据库是否仅比Windows XP慢很多,或者是否有任何方法可以提高代码性能? 额外细节 我们在Windows 2003服务器上运行sql Server 2000。这是我们的生产数据库,用于存储40多个测试站的测试结果。我们已经计划升级sql Server 2005,但这取决于另一个项目,该项目大约需要6个月才能完成。客户端PC(用于访问数据库的一台)是Windows 7。 我已经测试过使用Windows 7客户端PC访问运行在Windows 2003 Server上的sql Server 2005,并发现了相似的结果。 作为一项快速测试,我在Windows 7和Windows XP上都运行了100次SELECT查询,而Windows 7大约需要30秒,而Windows XP不到1秒即可完成。对于sql Server 2000和2003,已经重复了这一步骤,并且看到了相同的区别。     

解决方法

您正在新版本的Windows上使用旧版本的SQL Server。 根据此MS公告,Win7明确不支持SQL Server 2000。 升级您的SQL Server版本。     ,仍然,如果您遇到问题,请查看打击分辨率: 根本原因 我们在Win7 VDI上看到的问题可能是由于与计算机连接的网络硬件设备造成的。如果网络设备不支持TCP / IP缩放,则性能会很慢。 解 禁用TCP的自动调整级别。请按照以下步骤操作: 1)使用管理员权限打开命令提示符(以管理员身份运行) 2)输入“ netsh interface tcp set global autotuninglevel = disabled” 3)运行上述命令后,重新启动机器。 有关此命令的其他信息,请访问链接“ http://support.microsoft.com/kb/935400”     ,此问题可能是由于LLMNR协议引起的,该协议是Vista,Win7和某些服务器上使用的IPv4和IPv6的新名称解析协议。 所以: 您可以通过GPEdit.msc关闭LLMNR协议 (链接到PDF-方法) 要么 使用完全限定的域名(FQDN)(然后不使用LLMNR)     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...