SQL Server Profiler 在不同系统上跟踪相同查询的不同结果

SQL Server Profiler trace different result on different system for same query

我 运行 相同的 JAVA 应用程序 (spring/hibernate) 在不同的系统上都使用相同的 SQL 服务器版本。

我正在使用 SQL Server Profiler 来跟踪我在两个系统上 运行(完全相同)的查询。

这是我在两个系统上的 SQL 服务器版本:

这里的慢速屏幕截图显示,与 fast.trc 相比,"use database" 的查询花费“331 毫秒”(0 毫秒=:

仅通过 运行ning "use database" 查询会导致这种差异的原因是什么?

我试过第 3 个系统 运行ning on sql express 太慢了 here is trace

在 "sql express" 上似乎是因为我有两个额外的 classEvent 审计注销 需要时间:

也许我在 SQL 服务器上遗漏了一些选项?

USE 语句的持续时间过长表明数据库可能设置为 AUTO_CLOSE ON。数据库启动时必须打开时会产生开销。

可以通过以下方式更改设置:

ALTER DATABASE [YourDatabase] SET AUTO_CLOSE OFF;