Регистрация всех запросов SQL - PullRequest
0 голосов
/ 26 октября 2019

Требуется реализовать ведение журнала всех запросов SQL в приложении, включая переданные параметры.

  • СУБД: SQL Server 2017 Standard
  • Язык приложений: .NET стек
  • Количество приложений: 12 +

Какреализовать это с наименьшим влиянием на производительность с архитектурной точки зрения? Хранение на отдельном экземпляре. Может быть, мне стоит использовать механизм очереди?

UPD :

Extended Events: это не подходит для нашей рабочей нагрузки, поскольку создает дополнительную нагрузку.


Query store: По мере увеличения объема данных в QS получать данные оттуда становится все труднее, поскольку индексов нет, кроме того, невозможно получить точную информацию по запросупараметры.


Идея состоит в том, чтобы регистрировать запросы в приложениях и отправлять их в хранилище, отличное от рабочего экземпляра, чтобы не создавать дополнительную нагрузку. Я могу получать запросы с параметрами, продолжительностью и другой информацией в приложениях, но необходимо реализовать эффективный способ сохранения данных.


Я попробовал решение в лоб - appender от nlog,который асинхронно записывает в базу данных. Были настроены параметры пакета и другие, но приложения получили ~ 30% снижения производительности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...