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

Pau*_*ulB 73 sql-server-profiler

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

Rol*_*ble 89

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图形用户界面默认显示"持续时间"列(以毫秒为单位),但是当将跟踪保存到文件或数据库表时,"持续时间"列值将以微秒为单位写入.

  • 从SQL Server 2005开始,服务器以微秒(百万分之一或10-6秒)报告事件的持续时间以及事件使用的CPU时间量(以毫秒为单位)(千分之一或10-3,一秒钟.在SQL Server 2000中,服务器报告持续时间和CPU时间(以毫秒为单位).在SQL Server 2005及更高版本中,SQL Server Profiler图形用户界面默认显示"持续时间"列(以毫秒为单位),但是当将跟踪保存到文件或数据库表时,"持续时间"列值将以微秒为单位写入. (21认同)
  • 这个答案可以编辑得清楚吗.如果您指的是Profiler中的列,则原始答案(标记为正确)是不正确的,因为如jerryhung注释所示,它实际上显示为毫秒. (4认同)

Nel*_*ess 5

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

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

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

在此输入图像描述

在旧版本的 DBMS 上使用 2016 分析器没有任何问题。