Процессоры CPU/длительности SQL Profiler

Результат трассировки SQL Server в профилировщике содержит столбцы CPU и Duration (среди других). Какими единицами являются эти значения в?

Ответ 1

CPU находится в миллисекундах. В sql server 2005 и более поздних версиях продолжительность сохраняется в микросекундах при сохранении в файле или таблице и миллисекундах в пользовательском интерфейсе. В sqlserver 2000 он всегда находится в миллисекундах. Из MSDN.

Пользователь jerryhung дает более точную информацию о версии в комментарии:

Начиная с SQL Server 2005 сервер сообщает о продолжительности события в микросекундах (один миллионный или 10 -6 секунды) и количестве процессорного времени, используемого событием в миллисекундах (одна тысячная, или 10 -3 секунды). В SQL Server 2000 сервер сообщал как продолжительность, так и время процессора в миллисекундах. В SQL Server 2005 и более поздних версиях графический пользовательский интерфейс SQL Server Profiler отображает столбец "Длительность" в миллисекундах по умолчанию, но когда трассировка сохраняется в файле или таблице базы данных, значение столбца "Длительность" записывается в микросекундах.

Ответ 2

В соответствии с документацией (для SQL Server Profiler 2016) единица по умолчанию для столбца Длительность - миллисекунды.

Показывать значения в столбце Длительность в микросекундах Отображает значения в микросекундах в столбце данных Продолжительность. По умолчанию столбец Длительность отображает значения в миллисекундах.

Его можно изменить на микросекунды в общих параметрах: Сервис- > Параметры

enter image description here

Нет ничего плохого в использовании профилировщика 2016 в старых версиях СУБД.

Ответ 3

В SQL Server 2017 я обнаружил, что в представлении "Профилировщик" эта длительность отображается как миллисекунды, но при экспорте в таблицу она отображается в микросекундах. Сначала немного сбивает с толку.