探查器中SQL Server跟踪的输出包含CPU和持续时间(以及其他)列。这些值中有哪些单位?
答案 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列的默认单位是毫秒。
在持续时间列中显示值,以微秒为单位 在跟踪的持续时间数据列中显示以微秒为单位的值。默认情况下,持续时间列会以毫秒为单位显示值。
可以在常规选项中将其更改为微秒: 工具 - >选项
在较早版本的DBMS上使用2016 Profiler没有错。
答案 2 :(得分:0)
我在SQL Server 2017中发现,持续时间在Profiler视图中显示为毫秒,但是当我导出到表中时以毫秒为单位显示。一开始有点困惑。