2013-05-28 42 views
3

我有一個奇怪的問題。我的存儲過程中的一個自動下降。它不是我在錯誤的地方創建它。每次創建SP並執行我的網頁時,都會顯示。幾分鐘後,如果我再次執行該頁面,則會顯示錯誤消息,這是由於缺少SP。 我已經嘗試了一遍又一遍的重新創建,並且每次重複。我甚至沒有重新啓動機器(Windows Server 2008 R2),但沒有用。在Windows 8機器上,我的SQL Server實例上的相同過程很好。 我試過了SQL Server Profiler,但沒用。沒有看到任何放置程序。SQL Server 2012存儲過程自動刪除

也爲一些奇怪的原因,我得到了很多的請求每一秒我的SQL Server承載一個基於DotNetNuke的網站。有人可以幫我弄這個嗎。

謝謝

+1

嘗試'SELECT * FROM sys.sql_modules WHERE定義LIKE '%DROP%PROC%'',看看你是否在其他程序留下了DROP命令。你也可以嘗試看看[默認跟蹤](http://dba.stackexchange.com/questions/10716/determining-how-a-schema-change-occurred/10718#10718) –

+0

謝謝馬丁。我試過你的sql,它沒有返回任何信息。但是,試圖從管理工作室的標準報告中進行架構更改,確認sp被丟棄,但無法從丟棄的地方獲得。另外,我很確定我沒有在我的其他代碼中包含任何drop proc。 –

回答

2

剛剛由另一個開發人員提出此問題。事實證明,在另一個SP的末尾有一個"DROP procedure"。 尋找這樣隱藏聲明在另一個數據庫SP,其中<name_of_SP>被刪除的SP運行像

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

的聲明。

0

我有同樣的問題,這個問題是一個存儲過程之間的DB腳本缺少GO創建腳本和另一個存儲過程的下降。 解決方案是在存儲過程1創建和存儲過程2放置之間添加一個GO。 我提到Stored Procedure gets dropped randomly