Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Постоянно запускается старая версия процедуры, хотя новая была скомпилирована в БД  [new]
a139
Member

Откуда:
Сообщений: 70
Здравствуйте!

Проблема в том, что после исправления ошибки в пользовательской хранимой процедуре, клинское приложение все-равно видит старый ее текст, т.е. запускается и отрабатывает "по-старому".

Перезапуск приложения не помогает. Перезапуск сервера не хочется пробовать пока.

РАБОТАЕТ, если:
1) Запускать процедуру на исполнение вручную в SSMS
2) В клиентском приложении написать строчку вызова этой процедуры дважды (??!) - на второй раз отрабатывает по новой версии, как нужно.

Не помогают: DBCC FREEPROCCACHE, DBCC DROPCLEANBUFFERS

Команда DROP AND CREATE в SSMS отдает всегда правильный новый текст.
8 ноя 12, 17:30    [13441281]     Ответить | Цитировать Сообщить модератору
 Re: Постоянно запускается старая версия процедуры, хотя новая была скомпилирована в БД  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
чудес не бывает
У вас или имя разное,или процедура с более чем 1 версией
или 2 процедуры с миксом в названиях
проверте по системному каталогу
8 ноя 12, 17:37    [13441340]     Ответить | Цитировать Сообщить модератору
 Re: Постоянно запускается старая версия процедуры, хотя новая была скомпилирована в БД  [new]
Glory
Member

Откуда:
Сообщений: 104751
a139
Команда DROP AND CREATE в SSMS отдает всегда правильный новый текст.

А какую процедуру будет выполнять клиентское приложение после DROP-а ?
8 ноя 12, 17:39    [13441353]     Ответить | Цитировать Сообщить модератору
 Re: Постоянно запускается старая версия процедуры, хотя новая была скомпилирована в БД  [new]
Crimean
Member

Откуда:
Сообщений: 13147
select @@version для начала и - схемы хранимок точно одинаковы? может таки в схемах собака поралась?
8 ноя 12, 17:42    [13441373]     Ответить | Цитировать Сообщить модератору
 Re: Постоянно запускается старая версия процедуры, хотя новая была скомпилирована в БД  [new]
Konst_One
Member

Откуда:
Сообщений: 11625
у вас случаем клиентское приложение не так запускает вашу ХП?

exec myproc()


тогда будет подхватываться ХП сделанная под схемой того юзера , под которым зашли (открыли текущее соединение)

а вам нужно вот так запускать:

exec dbo.myproc()
8 ноя 12, 17:46    [13441408]     Ответить | Цитировать Сообщить модератору
 Re: Постоянно запускается старая версия процедуры, хотя новая была скомпилирована в БД  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Glory
А какую процедуру будет выполнять клиентское приложение после DROP-а

а там у них проверка, если нет -то с процедура пересоздаеться ,но ТС об етом не знает И забыли то место где ето реализовали
8 ноя 12, 17:46    [13441409]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить