Расширенные события и SQL Server Profiler - PullRequest
0 голосов
/ 21 ноября 2018

Я понял концепцию расширенных событий и SQL Server Profiler, я чувствовал, что они оба выполняют одинаковую работу.Я не мог понять главное различие между ними.Может кто-нибудь объяснить мне основное различие между расширенными событиями и SQL Server Profiler?И когда мы можем использовать в производственной среде?Является ли SQL Server Profiler предпочтительным для производственных серверов?

1 Ответ

0 голосов
/ 21 ноября 2018

Profiler использует устаревшую и уже устаревшую технологию, которая называется SQL Trace .Он больше не обновляется, чтобы можно было отслеживать новые функции движка, например, таблицы, оптимизированные для памяти.Поэтому Extended Events имеет гораздо больше событий, которые он может отслеживать, чем SQL Profiler:

enter image description here

Он также имеет гораздо более гибкие выходные данные ( target ).В дополнение к «классическим» целям, таким как файл и кольцевой буфер (где полная информация о событиях сохраняется в «табличном» формате), есть также счетчик событий и цели гистограммы.Они могут помочь вам достичь еще меньших издержек, поскольку они просто подсчитывают, сколько раз происходило конкретное событие, без затрат на сохранение собранных данных.Также существует цель pair_matching, которая может помочь вам связать события друг с другом, например, начало и конец транзакции.

Другое преимущество XE перед Trace заключается в том, что определение трассы не читается человеком (принаименее трудно читаемый):

enter image description here

Хотя определения XE более понятны для нормальных людей:

enter image description here

Трассировка все еще может использоваться, но Расширенные события - это рекомендуемый способ мониторинга ваших производственных серверов.

...