Расширенные события и SQL Server Profiler

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

1 ответ

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

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

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

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

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

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

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

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

Другие вопросы по тегам