Как лучше всего отслеживать проблемы с согласованностью SQL Server? В частности, моя цель - уменьшить или предотвратить взаимоблокировки и блокировки, а также выявить потенциальные проблемы до того, как они станут проблемой.
Например, если бы я отслеживал использование памяти счетчиками производительности Windows, я мог бы предсказать, когда проблемы с памятью станут проблемой. Я ищу аналогичный подход, который отслеживает проблемы параллелизма.
Используя perfmon, категории MSSQL: Latches и MSSQL: Locks имеют счетчики, которые кажутся максимально близкими к нам.
Теперь ясно, что у БД нет «способности к параллелизму», которую можно измерить. (Не так, как у сервера есть емкость хранилища, которую можно измерить).
Приложения, которые вчера работали нормально, могут внезапно начать блокироваться. Из-за эскалации блокировки, новых планов запросов и т. Д.
Пока вы помните, что трассировка на стороне сервера всегда оказывает некоторое влияние на производительность, и вы взвесили преимущество по сравнению с накладными расходами, после чего вы можете настроить трассировку на стороне сервера для поиска: