Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / зависание внутри процедуры / 7 сообщений из 7, страница 1 из 1
10.04.2020, 12:29
    #39945791
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
зависание внутри процедуры
Господа, наблюдаю такую картину

Есть процедура, которая при своем старте завиcает на первом select into #temp from и висит около получаса.

Но если код процедуры вытащить в отдельное окно ssms и запустить как скрипт (без объявления процедуры, заменив параметры на переменные), то он отрабатывает за 30-60 сек. Данных там всего 1700000.

Код набивает данные в несколько временных таблиц и потом делает delete insert uppate в несколько других таблиц. BEGIN TRAN не используется. При открытии новой сессии картина не меняется.

Что это за явление и куда копать?

SQL 2012 Standart
...
Рейтинг: 0 / 0
10.04.2020, 12:35
    #39945796
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
зависание внутри процедуры
Явление называется "разный план выполнения".
...
Рейтинг: 0 / 0
10.04.2020, 12:59
    #39945809
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
зависание внутри процедуры
Гавриленко Сергей Алексеевич,

WITH RECOMPILE не помогло, причем процедура пересоздавалась недавно
...
Рейтинг: 0 / 0
10.04.2020, 13:00
    #39945810
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
зависание внутри процедуры
Перепутал версию сервера. Это 2019 DEV

Microsoft SQL Server 2019 (RTM-GDR) (KB4517790) - 15.0.2070.41 (X64) Oct 28 2019 19:56:59 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: )
...
Рейтинг: 0 / 0
10.04.2020, 13:27
    #39945820
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
зависание внутри процедуры
Гавриленко Сергей Алексеевич
Явление называется "разный план выполнения".


У меня есть подозрение, что дело не в плане, а в блокировке на системной таблице или чем-то таком.

Если включить Живой план, она висит и очень долгое время его не отображает. То есть проблема скорее в том, чтобы получить план, а не в том, насколько он оптимален.
...
Рейтинг: 0 / 0
10.04.2020, 14:13
    #39945847
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
зависание внутри процедуры
a_voronin,

Отсутствие живого плана в студии ни о чем не говорит.
Смотрите ожидания сессии в момент зависания.
...
Рейтинг: 0 / 0
10.04.2020, 14:20
    #39945852
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
зависание внутри процедуры
a_voronin,

sys.dm_os_waiting_tasks что нибудь показывает по "зависшей" сессии?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / зависание внутри процедуры / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]