Съхранената процедура на SQL Server 2012 се изтрива автоматично

Имам странен проблем. Една от моите съхранени процедури се премахва автоматично. Не че го създавам на грешно място. Всеки път, когато създавам SP и изпълнявам уеб страницата си, той се показва. След няколко минути, ако изпълня страницата отново, тя показва съобщение за грешка, което се дължи на липсващ SP. Опитвал съм да пресъздавам отново и отново и всеки път се повтаря. Дори рестартирах машината (Windows Server 2008 R2), но без полза. Същата процедура е добра на моя екземпляр на SQL Server на машина с Windows 8. Опитах SQL Server Profiler, но без полза. Не виждам никаква процедура за изпускане.

Освен това по някаква странна причина получавам много заявки всяка секунда към моя SQL Server, който хоства уебсайт, базиран на dotnetnuke. Може ли някой да ми помогне с това.

Благодаря


person Babu Reddy    schedule 28.05.2013    source източник
comment
Опитайте SELECT * FROM sys.sql_modules WHERE definition LIKE '%DROP%PROC%', за да видите дали сте оставили команда DROP в друга процедура. Също така можете да опитате да разгледате проследяването по подразбиране   -  person Martin Smith    schedule 28.05.2013
comment
Благодаря Мартин. Опитах вашия sql, който не върна никаква информация. Въпреки това изпробвах стандартните отчети от студиото за управление за промени в схемата, които потвърдиха, че sp е отпаднал, но не успя да стигне от мястото, където е отпаднал. Освен това съм много сигурен, че не съм включил никаква процедура за отпадане в друг мой код.   -  person Babu Reddy    schedule 28.05.2013


Отговори (2)


Току-що този проблем беше представен от друг разработчик. Оказа се, че има включено "DROP procedure" в края на друг SP. За да потърсите такова скрито изявление в друга база данни SP, изпълнете изявление като

select OBJECT_NAME(sc.id), sc.* from syscomments sc where text like '%<name_of_SP>%'

където <name_of_SP> е SP, който се изпуска.

person Niels Gravesen    schedule 27.02.2015

Имах същия проблем и проблемът беше липсващ GO в DB скрипта между скрипт за създаване на съхранена процедура и капка на друга съхранена процедура. Решението беше да се добави GO между създаване на съхранена процедура 1 и премахване на съхранена процедура 2. Споменах за Съхранената процедура се изтрива на случаен принцип.

person Snehal Tikekar    schedule 13.04.2016