web-dev-qa-db-ja.com

SQLプロファイラーCPU /期間単位

プロファイラーのSQL Serverトレースからの出力には、CPUとDurationの列が含まれています。これらの値はどの単位にありますか?

72
PaulB

CPUはミリ秒単位です。 SQL Server 2005以降では、ファイルまたはテーブルに保存される期間はマイクロ秒単位であり、ユーザーインターフェイスではミリ秒単位です。 sqlserver 2000では、常にミリ秒単位です。 [〜#〜] msdn [〜#〜] から。

ユーザーjerryhungは、より正確なバージョン固有の情報をコメントで提供します。

SQL Server 2005以降、サーバーはイベントの期間をマイクロ秒(100万分の1、つまり10-6 1秒)およびイベントで使用されるミリ秒単位のCPU時間(1000分の1、または10)-3 秒の)。 SQL Server 2000では、サーバーは期間とCPU時間の両方をミリ秒単位で報告しました。 SQL Server 2005以降では、SQL Server ProfilerのグラフィカルユーザーインターフェイスはデフォルトでDuration列をミリ秒単位で表示しますが、トレースがファイルまたはデータベーステーブルに保存されると、Duration列の値はマイクロ秒単位で書き込まれます。

88
RolandTumble

ドキュメント (SQL Server Profiler 2016の場合)によると、期間列のデフォルトの単位はミリ秒です。

マイクロ秒単位のDuration列の値を表示トレースのDurationデータ列の値をマイクロ秒単位で表示します。デフォルトでは、Duration列には値がミリ秒単位で表示されます。

一般オプションでマイクロ秒に変更できます:ツール->オプション

enter image description here

DBMSの古いバージョンで2016プロファイラーを使用しても問題はありません。

1