Процесор / одиниці тривалості SQL Profiler


78

Вихідні дані із трасування SQL Server у профайлері містять стовпці CPU та Duration (серед іншого). В яких одиницях ці значення?

Відповіді:


92

Процесор в мілісекундах. У sql server 2005 та пізніших версій тривалість становить мікросекунди при збереженні у файл або таблицю та мілісекунди в інтерфейсі користувача. У sqlserver 2000 це завжди в мілісекундах. З MSDN .

Користувач jerryhung надає більш точну інформацію про конкретну версію в коментарі:

Починаючи з SQL Server 2005, сервер повідомляє про тривалість події в мікросекундах (одна мільйонна або 10 -6 секунди) та кількість процесорного часу, що використовується подією в мілісекундах (одна тисячна, або 10 -3 від другий). У SQL Server 2000 сервер повідомляє про тривалість і час процесора в мілісекундах. У SQL Server 2005 і пізніших версіях графічний користувальницький інтерфейс SQL Server Profiler за замовчуванням відображає стовпець "Тривалість" у мілісекундах, але коли трасування зберігається або у файлі, або в таблиці бази даних, значення стовпця "Тривалість" записується в мікросекундах.


Дякую - насправді це був журнал SQL2000, який я дивився, які звіти надсилаються за мілісекунди, на що посилання також відповідало.
PaulB

21
Починаючи з SQL Server 2005, сервер повідомляє тривалість події в мікросекундах (одна мільйонна або 10-6 секунд) і кількість процесорного часу, що використовується подією в мілісекундах (одна тисячна або 10-3, секунди). У SQL Server 2000 сервер повідомляє про тривалість і час процесора в мілісекундах. У SQL Server 2005 та пізніших версіях графічний користувальницький інтерфейс SQL Server Profiler за замовчуванням відображає стовпець "Тривалість" у мілісекундах, але коли трасування зберігається або у файлі, або в таблиці бази даних, значення стовпця "Тривалість" записується в мікросекундах.
jerryhung

4
Чи можна редагувати цю відповідь, щоб бути зрозумілою, будь ласка. Оригінальна відповідь (позначена як правильна) неправильна, якщо ви посилаєтесь на стовпець у Профайлері, оскільки, як вказує коментар jerryhung, він фактично відображається у мілісекундах.

3

Відповідно до документації (для SQL Server Profiler 2016) за замовчуванням одиницею вимірювання для стовпця "Тривалість" є мілісекунди.

Показувати значення в стовпці Тривалість у мікросекундах Відображає значення в мікросекундах у стовпці Дані тривалості трасування. За замовчуванням стовпець " Тривалість " відображає значення в мілісекундах.

Його можна змінити на мікросекунди в загальних параметрах: Інструменти-> Параметри

введіть тут опис зображення

Нічого поганого у використанні профілі 2016 для старих версій СУБД.


1

Я виявив у SQL Server 2017, що тривалість відображалася у мілісекундах у поданні Профайлера, але коли я експортував до таблиці, вона відображалася в мікросекундах. Спочатку трохи заплутано.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.