SQL Profiler CPU /持续时间单位


77

分析器中SQL Server跟踪的输出包含“ CPU”和“ Duration”(以及其他)列。这些值的单位是什么?

Answers:


91

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图形用户界面以毫秒为单位显示“持续时间”列,但是当将跟踪保存到文件或数据库表中时,“持续时间”列的值以微秒为单位。


谢谢-实际上,这是我正在查看的SQL2000日志(以毫秒为单位),链接也回答了该问题。
PaulB

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

4
可以将这个答案编辑清楚。如果您引用探查器中的列,则原始答案(标记为正确)是不正确的,因为正如jerryhung注释所指出的那样,它实际上以毫秒为单位显示。

2

根据文档(对于SQL Server Profiler 2016),“持续时间”列的默认单位为毫秒。

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

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

在此处输入图片说明

在较旧版本的DBMS上使用2016 Profiler没问题。


0

我在SQL Server 2017中发现,持续时间在Profiler视图中显示为毫秒,但是当我导出到表中时以毫秒为单位显示。起初有点混乱。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.