Не могу найти откуда вызывается запрос

1. olbu 13.11.20 16:31 Сейчас в теме
Здравствуйте!
УПП 1.3 8.2.19.102, Сервер 64х
Начала тормозить УПП, начали смотреть, во время тормозов процессор, на сервере, где крутиться sql уходит практически в 100%.
Выявили запрос, на выполнение которого уходит большее время процессора, но понять, откуда он вызывается так и не могу.

Может кто подскажет, в каком направлении искать, или кто - то уже с этим сталкивался?

Запрос:

INS ERT IN TO #tt25 (_Q_001_F_000TRef, _Q_001_F_000RRef, _Q_001_F_001RRef, _Q_001_F_002, _Q_001_F_003, _Q_001_F_004, _Q_001_F_005, _Q_001_F_006) SEL ECT
T1._Q_003_F_000TRef,
T1._Q_003_F_000RRef,
T1._Q_003_F_001RRef,
T1._Q_003_F_003,
T1._Q_003_F_004,
T1._Q_003_F_005,
T1._Q_003_F_002,
T2._Q_001_F_001
FR OM #tt21 T1 WITH(NOLOCK)
LEFT OUTER JOIN #tt16 T2 WITH(NOLOCK)
ON (DATEADD(DAY,CAST(DATEPART(DAY,T1._Q_003_F_005) AS NUMERIC(4)) - 1,DATEADD(MONTH,CAST(DATEPART(MONTH,T1._Q_003_F_005) AS NUMERIC(4)) - 1,DATEADD(YEAR,(CAST(DATEPART(YEAR,T1._Q_003_F_005) AS NUMERIC(4)) - 2000) - 2000,*P1))) = T2._Q_001_F_000)
WHERE (T1._Q_003_F_004 > *P2)
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
9. SlavaKron 16.11.20 09:41 Сейчас в теме
(1)
DATEADD(DAY,CAST(DATEPART(DAY,T1._Q_003_F_005) AS NUMERIC(4)) - 1,DATEADD(MONTH,CAST(DATEPART(MONTH,T1._Q_003_F_005) AS NUMERIC(4)) - 1,DATEADD(YEAR,(CAST(DATEPART(YEAR,T1._Q_003_F_005) AS NUMERIC(4)) - 2000) - 2000,*P1)))

Если код в конфигурации, можно попробовать глобальным поиском (Ctrl+Shift+F) поискать "ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ("
FatPanzer; +1 Ответить
10. olbu 16.11.20 09:45 Сейчас в теме
(9)
ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(

Спасибо, нет найденных...
13. FatPanzer 16.11.20 14:26 Сейчас в теме
(10) Внешнее соединение? Кто-то со своим запросом подключается к базе?
2. dmv78 204 13.11.20 16:54 Сейчас в теме
походу это кто то руками писал у вас. идет заполнение некой таблицы в sql с алиасом tt25, больше похоже на резервирование. если найдете какой таблице соответсвует #tt25 станет понятно, возможно это регистр накопления и здесь производится расчет себестоимости, так как параметров не много и ссылок на справочники в таблице всего 3 (организация, склад, номенклатура)
3. dmv78 204 13.11.20 16:56 Сейчас в теме
каким образом выявили сам запрос? там должны быть указаны полные значения названия таблиц: типа "AccumRegT9986"
4. FatPanzer 13.11.20 17:04 Сейчас в теме
А может это ламеры загнали в запрос таблицы значений и извращаются там с ними? Вместо того, чтобы алгоритмически решить задачу в оперативной памяти решили по шустрому напрячь СУБД,..
5. starik-2005 3036 13.11.20 17:20 Сейчас в теме
Подобные запросы из 1С - это ВЫБРАТЬ * ПОМЕСТИТЬ ВТХХХ ИЗ ВТУУУ". Такого хлама в 1С полно, ибо 1С-ных школьников учат в любой непонятной ситуации все выгружать во временные таблицы и все группировать (от греха подальше).

Для начала: обновите статистику, очистите процедурный кэш, приучите систему обновлять статистику минимум раз в сутки, реиндексировать тоже раз в сутки и дефрагментировать индексы раз в неделю. И будет вам счастье...
8. olbu 16.11.20 08:22 Сейчас в теме
(5)Спасибо за ответ, планы обслуживания, которые Вы описали - работают... Но все равно база тормозит, база 600 гиг, забыл написать...
Поэтому получил от руководства задание, выявить причину тормозов.
11. starik-2005 3036 16.11.20 11:10 Сейчас в теме
(8)
аза 600 гиг, забыл написать...
Запретите день пользователям формировать отчеты в рабочей базе - пусть тестовую вертят для этого дела, и оцените изменение в нагрузке на сервер.
16. olbu 17.11.20 09:49 Сейчас в теме
(11)Это скорее всего я не протолкну...
6. tetraren 26 13.11.20 17:29 Сейчас в теме
Включайте технологический журнал по событию DBMSSQL И SDBL, и ищите (лучше через grep) строки "ON (DATEADD(DAY,CAST(DATEPART(DAY,T1._Q_003_F_005) AS NUMERIC(4))" и другие куски вашего запроса.

Как найдете - увидите, из какого модуля и какой строки кода запрос вызывается.
7. olbu 16.11.20 08:20 Сейчас в теме
(6)Спасибо! на рабочей не хочу включать, тормозов будет еще больше, а на тестовой - включил, ловил целый день - не выявил...
Попробую, как Вы описали сделать на тестовой.
12. minarenko 16.11.20 14:09 Сейчас в теме
В инструментах разработчика есть отчет статистика по запросам mssql, он показывает запросы к mssql и переводит их в метаданные 1с
15. olbu 17.11.20 09:48 Сейчас в теме
(12)
отчет статистика по запросам mssql

Спасибо, сейчас пищу этот отчет.
14. oleg-x 26 16.11.20 14:35 Сейчас в теме
(13) Не факт что можно найти данный запрос. Он может собираться динамически, пробелы и прочее. Это может быть внешний отчет.
Вообщем вариантов куча.
Тут либо самому посмотреть к каким таблицам обращается и перевести на "человеческий" язык запрос и понять, что запрашивают. Или воспользоватся советом в (12).
А дальше уже искать обращение по таблице.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот