Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 The definition of object ... has changed since it was compiled  [new]
relief
Member

Откуда:
Сообщений: 1197
запустил процедуру. потом изменил и применил изменения.
потом получил такое The definition of object ... has changed since it was compiled

разве код процедуру не применяется дляследующехи вызовов? как избежать и почему такая ошибка?
14 сен 12, 11:45    [13163311]     Ответить | Цитировать Сообщить модератору
 Re: The definition of object ... has changed since it was compiled  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Очень просто:
Процессам, запустившие процедуру до её изменения, нужно откомпилировать какую либо её часть, но оригинальный код процедуры уже нет.

Обычно это возникает когда:
- в процедуре есть объекты которых нет на момент старта
- произошло изменение статистики индексов, которые требуют рекомпиляции
- остальные факторы динамической компиляции

Да, это тупейшая недоработка от M$, но исправлять им лень, отмазываются в стиле "by design".

Была такая проблема на триггерах, но они её "решили" тупо блокировкой, пока все процессы не закончатся.
14 сен 12, 15:43    [13165831]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить