База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как отловить свои SQL запросы из 1С в SQL Server Profiler?
- В этой теме 1 ответ, 2 участника, последнее обновление 4 недели назад сделано  Odin — Одинэсник. Odin — Одинэсник.
- 
		АвторСообщения
- 
		
			- 
1 октября 2025 в 11:30 #33623 OdineskiУчастник OdineskiУчастниккак в SQL Profiler отловить свои запросы? 
- 
1 октября 2025 в 11:30 #33624 Odin — ОдинэсникУчастник 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/
 
- 
- 
		АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.
