MS CRM / Разработка

Производительность CRM: поиск источника проблемного SQL-запроса

Метод поиска источника проблемного SQL-запроса при настройке производительности Microsoft Dymanics CRM.

Задача

Activity Monitor SQL-сервера показывает проблемный запрос (занимающий много процессорного времени, памяти и пр.). Необходимо найти источник этого запроса. Это может быть плагин, шаг Workflow, клиентский скрипт или отчет.

Решение

Простейший из возможных методов поиска источника запроса…

  1. Выделяем из запроса некую строку, вхождение которой будем искать. Это может быть имя сущности или какого то поля. Чем более уникальной будет эта строка, тем проще будет найти.
  2. Выгружаем решение по умолчанию (это архив) и распаковываем его. С помощью, например Notepad++, ищем по всем файлам папки решения строку, определенную на предыдущем шаге. В результате можно найти отчеты.
  3. В утилите XrmToolBox есть плагин Everywhere Search (он же Global Search). С помощью него можно найти вхождение искомой строки в веб-ресурсах всех типов.
  4. Поиск в плагинах и шагах Workflow пожалуй самый муторный, особенно если сборок много. Однако, поиск можно произвести даже если у вас нет исходников. В той-же утилите XrmToolBox есть плагин Plug-in Downloader, с помощью которого можно выкачать из базы данных CRM все сборки. Дальше нужно загрузить все сборки в утилиту dotPeek от JetBrains. А дальше просто воспользоваться поиском.

About the author

Добавить комментарий