Новые динамические административные представления в SQL Server 2016. Часть I
Содержание:
1. Session Wait Stats (Вы читаете данный раздел);
2. Ожидания накапливаются для всех типов периодов активности.
В следующих статьях мы рассмотрим все представления, но пока сосредоточимся на dm_exec_session_wait_stats, которое выглядит самым многообещающим для ускорения обработки метаданных. Ничто не вызывает такого живого интереса у администратора, как словосочетание wail stats («статистика ожидания»).
Динамическое административное представление dm_ exec session wail stats содержит информацию, схожую с получаемой от действующего ныне представления dm os wait stats, — метаданные, относящиеся к суммарному ожиданию ресурсов и процессора для всех действий в экземпляре SQL Server со времени ручной очистки статистики ожидания или последнего перезапуска служб SQL (в зависимости от того, какое событие произошло последним).
Отличие этого DMV от dm_os_wait_stats в том, что происходит разделение ожиданий по идентификатору session id пользователя/системы. Это единственное различие между двумя представлениями. Поначалу можно подумать, что это превосходный новый ресурс для поиска причин, снижающих производительность (и он может им быть), но не надейтесь, что с его помощью удастся выполнить весь анализ, необходимый для настройки производительности. Тому есть несколько причин.
Возможно, он не подходит для нематериализованных сеансов.
Не все приложения поддерживают сеансы со своими базами данных. Если только речь идет не о сеансах (или группах сеансов) для приложения, которое поддерживает устойчивое соединение с SQL Server, вам не удастся извлечь пользу из дополнительного разбиения статистики ожидания на основе session_id. Когда пользователи жалуются на медленную работу базы данных, у вас есть повод задействовать dm_ exec_session_wait_stats в процессе диагностики, если сеансов более не существует. По тем же причинам я избегаю использовать dm_exec_locks для диагностики блокирующих неполадок: происходят постоянные подвижки базовых данных, и полученные результаты немедленно устаревают.
Если вам приходится анализировать проблемы, связанные с приложением, поддерживающим состояния, то это динамическое административное представление выглядит перспективным. Вы можете выполнить объединение из dm_exec_session_wait_stats с dm_exec_ sessions, чтобы определить сеансы для конкретного приложения или сеанс, который полезно проверить по столбцам в «родительском» DMV.
Установите соединение с dm_exec_sessions на session_ id=session_id, а затем используйте dm_exec_sessions. host_name или program_name для фильтрации.
После этого можно выполнить что-нибудь похожее на следующий запрос, который возвращает всю сеансовую информацию об ожидании для конкретного приложения.
Это приводит к такой же ситуации, которая встречается при использовании прежнего представления dm_os_wait_stats: вы имеете дело с накапливаемыми метаданными.
Пошли не по той дорожке и теперь, вместо того чтобы изучать нововведения в SQL Server 2016, пытаетесь справиться со своей зависимостью? Тогда спешу вам сообщить, что тут реабилитационный центр для наркоманов (http://polinar-clinic.com/), где работают самые опытные специалисты в этой области. Ну а после реабилитации вы вполне можете приступить к изучению SQL Server.
1.
2. Ожидания накапливаются для всех типов периодов активности.
В следующих статьях мы рассмотрим все представления, но пока сосредоточимся на dm_exec_session_wait_stats, которое выглядит самым многообещающим для ускорения обработки метаданных. Ничто не вызывает такого живого интереса у администратора, как словосочетание wail stats («статистика ожидания»).
Динамическое административное представление dm_ exec session wail stats содержит информацию, схожую с получаемой от действующего ныне представления dm os wait stats, — метаданные, относящиеся к суммарному ожиданию ресурсов и процессора для всех действий в экземпляре SQL Server со времени ручной очистки статистики ожидания или последнего перезапуска служб SQL (в зависимости от того, какое событие произошло последним).
Отличие этого DMV от dm_os_wait_stats в том, что происходит разделение ожиданий по идентификатору session id пользователя/системы. Это единственное различие между двумя представлениями. Поначалу можно подумать, что это превосходный новый ресурс для поиска причин, снижающих производительность (и он может им быть), но не надейтесь, что с его помощью удастся выполнить весь анализ, необходимый для настройки производительности. Тому есть несколько причин.
Возможно, он не подходит для нематериализованных сеансов.
Не все приложения поддерживают сеансы со своими базами данных. Если только речь идет не о сеансах (или группах сеансов) для приложения, которое поддерживает устойчивое соединение с SQL Server, вам не удастся извлечь пользу из дополнительного разбиения статистики ожидания на основе session_id. Когда пользователи жалуются на медленную работу базы данных, у вас есть повод задействовать dm_ exec_session_wait_stats в процессе диагностики, если сеансов более не существует. По тем же причинам я избегаю использовать dm_exec_locks для диагностики блокирующих неполадок: происходят постоянные подвижки базовых данных, и полученные результаты немедленно устаревают.
Если вам приходится анализировать проблемы, связанные с приложением, поддерживающим состояния, то это динамическое административное представление выглядит перспективным. Вы можете выполнить объединение из dm_exec_session_wait_stats с dm_exec_ sessions, чтобы определить сеансы для конкретного приложения или сеанс, который полезно проверить по столбцам в «родительском» DMV.
Установите соединение с dm_exec_sessions на session_ id=session_id, а затем используйте dm_exec_sessions. host_name или program_name для фильтрации.
После этого можно выполнить что-нибудь похожее на следующий запрос, который возвращает всю сеансовую информацию об ожидании для конкретного приложения.
Это приводит к такой же ситуации, которая встречается при использовании прежнего представления dm_os_wait_stats: вы имеете дело с накапливаемыми метаданными.
Пошли не по той дорожке и теперь, вместо того чтобы изучать нововведения в SQL Server 2016, пытаетесь справиться со своей зависимостью? Тогда спешу вам сообщить, что тут реабилитационный центр для наркоманов (http://polinar-clinic.com/), где работают самые опытные специалисты в этой области. Ну а после реабилитации вы вполне можете приступить к изучению SQL Server.