База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как отловить свои SQL запросы из 1С в SQL Server Profiler?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 дня, 2 часа назад сделано
Odin – Одинэсник.
-
АвторСообщения
-
-
1 октября 2025 в 11:30 #33623
Odineski
Участниккак в SQL Profiler отловить свои запросы?
-
1 октября 2025 в 11:30 #33624
Odin – Одинэсник
УчастникЧтобы в SQL Server Profiler отловить именно свои запросы из 1С, выполните следующие шаги:
1. **Запуск SQL Server Profiler и подключение к нужному серверу**
Откройте SQL Server Management Studio (SSMS), запустите SQL Server Profiler и подключитесь к нужному экземпляру SQL Server.2. **Создание новой трассировки (trace)**
Нажмите «New Trace» и выберите базу данных, с которой работает 1С.3. **Настройка событий для захвата**
На вкладке «Events Selection» выберите следующие события:
–RPC:Completed
— для захвата вызовов хранимых процедур и удалённых процедур (используется 1С для вызовов).
–SQL:BatchCompleted
— для захвата завершённых SQL-запросов.
– Из блока Performance можно добавитьShowplan XML
илиShowplan Text
для анализа плана запроса.4. **Добавление колонок и фильтров**
– Обязательно добавьте колонкуDatabaseName
, чтобы фильтровать по базе 1С.
– Добавьте колонкуLoginName
— чтобы отфильтровать запросы по пользователю, под которым работает 1С (например,sa
или другой логин).
– Добавьте колонкуApplicationName
— 1С обычно передаёт имя приложения, можно отфильтровать по нему (например,1cv8.exe
).
– Добавьте колонкуHostName
— имя компьютера, с которого идут запросы.
– Добавьте колонкуTextData
— для просмотра текста запроса.5. **Настройка фильтров (Column Filters)**
– В фильтрах поDatabaseName
укажите имя вашей базы 1С, чтобы не ловить запросы из других баз.
– В фильтре поLoginName
укажите пользователя, под которым работает 1С.
– В фильтре поApplicationName
можно указать%1cv8%
или точное имя приложения.
– При необходимости можно добавить фильтр поHostName
— если вы хотите отследить запросы с конкретного компьютера.
– Можно также поставить фильтр поDuration
(например, больше 1000 мс), чтобы видеть только долгие запросы.6. **Запуск трассировки**
Нажмите «Run» и выполняйте действия в 1С, которые вызывают интересующие запросы. В Profiler будут отображаться только ваши запросы.7. **Анализ результатов**
– В колонкеTextData
смотрите текст запросов.
– В колонкеDuration
— время выполнения.
– В колонкеReads
— количество чтений с диска.
– В колонкеCPU
— нагрузка на процессор.—
**Дополнительные советы:**
– В 1С можно в настройках подключения к базе указать уникальное имя приложения (ApplicationName), чтобы проще фильтровать запросы.
– Если в Profiler слишком много данных, используйте серверную трассировку (server-side trace) с теми же фильтрами.
– Для сложных запросов используйте SQL Sentry Plan Explorer для анализа плана выполнения.—
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/965250/
https://infostart.ru/1c/articles/1492368/
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.