SQL事件探查器CPU /持续时间单位

时间:2009-06-10 16:12:00

标签: sqlprofiler

探查器中SQL Server跟踪的输出包含CPU和持续时间(以及其他)列。这些值中有哪些单位?

3 个答案:

答案 0 :(得分:87)

CPU以毫秒为单位。 在sql server 2005及更高版本中,保存到文件或表时的持续时间以微秒为单位,用户界面中的持续时间为毫秒。在sqlserver 2000中,它始终以毫秒为单位。来自MSDN

用户jerryhung在评论中提供了更准确的版本特定信息:

  

从SQL Server 2005开始,服务器以微秒(百万分之一,或10 -6 秒)报告事件的持续时间以及事件使用的CPU时间量(以毫秒为单位) (千分之一,或10 -3 秒)。在SQL Server 2000中,服务器报告持续时间和CPU时间(以毫秒为单位)。在SQL Server 2005及更高版本中,SQL Server Profiler图形用户界面默认显示“持续时间”列(以毫秒为单位),但是当将跟踪保存到文件或数据库表时,“持续时间”列值将以微秒为单位写入。

答案 1 :(得分:1)

根据documentation(对于SQL Server Profiler 2016),Duration列的默认单位是毫秒。

  

持续时间列中显示值,以微秒为单位   在跟踪的持续时间数据列中显示以微秒为单位的值。默认情况下,持续时间列会以毫秒为单位显示值。

可以在常规选项中将其更改为微秒: 工具 - >选项

enter image description here

在较早版本的DBMS上使用2016 Profiler没有错。

答案 2 :(得分:0)

我在SQL Server 2017中发现,持续时间在Profiler视图中显示为毫秒,但是当我导出到表中时以毫秒为单位显示。一开始有点困惑。