1

我正在努力盡可能地從損壞的數據庫中打撈出來。我可以查詢表,但沒有看到自己的元數據(屬性,腳本...) - 所有這些行動導致從損壞的數據庫恢復存儲過程

表...在服務器上不存在

錯誤時,它顯然確實,因爲Select * from ...有效。

我可以做,以創建一個新的數據庫並獲取模式和數據:

select * 
into newdB.dbo.table 
from corruptdb.dbo.table 

呼!

現在開始存儲過程。我可以執行它們,但我無法修改或編寫腳本。有關如何保存這些?

感謝

+0

試試看這個http://stackoverflow.com/questions/10451146/what-is-the-sql-server-system-table-that-c​​ontains-information-about-stored-proce – 2014-08-29 00:31:46

+3

SELECT定義FROM sys。 sql_modules ... – 2014-08-29 00:53:51

+0

This!其他一切都失敗了,但是這一天保存了下來。謝謝Aaron Bertrand。 – user948060 2014-08-31 01:06:39

回答

0

嘗試sp_helptext,看看您是否可以得到存儲過程的源回來。 (參見http://msdn.microsoft.com/en-us/library/ms176112.aspx)。

如果這不起作用,db可能(儘管不能保證 - 畢竟它已經損壞!)沒有存儲過程的源代碼。

exec sp_helptext 'some_procedure` 

當然,正確的答案是:從備份中恢復

+0

不,這導致消息605,級別21,狀態3,過程參數$,第2行 試圖在數據庫7中獲取邏輯頁面(1:56)失敗。它屬於分配單位0而不是281474980642816。 – user948060 2014-08-31 01:06:57