从特定的机器运行SQL查询,我有一个有趣的问题。 这台机器是运行Windows Server 2003的虚拟机,它上面有SQL Server Express 2005。
VM从VMWare播放器映像迁移到适当的VMWare工作站设置。 它只在播放器下运行时运行正常(在不同的物理硬件上)。
从这台机器上,如果我运行osql并连接到它自己的SQLEXPRESS实例,查询运行非常慢(10分钟返回并从select语句中打印1000行)。如果我运行osql并连接到另一个数据库服务器,查询运行在速度相近。
从这台机器上,如果我使用SSMS运行一个查询,它performance的很好! 同一张表在不到一秒的时间内可以编辑。 我在另一台机器上运行osql,并连接到这个问题的虚拟机。 查询与以前完全相同的testing也运行得非常快。
这是一个问题的主要原因是因为我们在这个虚拟机上的web应用程序运行得像osql一样慢,而不是由SSMS展现的更正常的速度。 这些webapps使用标准System.Data dll的v2.0.50727来查询和连接。
有没有人看过这些症状之前,和/或知道如何解决它?
这实际上是在ODBC数据源控制面板中启用了跟踪的情况下出现的问题。
要检查这个设置:
开始 – >设置 – >控制面板 – >pipe理工具 – >数据源(ODBC)select跟踪选项卡。 确保跟踪已closures。