我正在SQL 2008 R2框中還原SQL 2000用戶數據庫,但有時會收到以下錯誤。這是SQL日誌。將備份從SQL2K還原到SQL2008R2時出錯
22/11/2010 09:32:00 | SPID61 | Starting up database 'DB_OPP_P_2'.
22/11/2010 09:32:00 | SPID61 | The database 'DB_OPP_P_2' is marked RESTORING and is in a state that does not allow recovery to run.
22/11/2010 09:32:33 | SPID61 | Starting up database 'DB_OPP_P_2'.
22/11/2010 09:32:33 | SPID61 | Recovery is writing a checkpoint in database 'DB_OPP_P_2' (51). This is an informational message only. No user action is required.
22/11/2010 09:32:36 | SPID61 | Error: 928, Severity: 20, State: 1.
22/11/2010 09:32:36 | SPID61 | During upgrade, database raised exception 156, severity 25, state 1, address 0000000002225A9F. Use the exception number to determine the cause.
由於它顯示升級階段發生異常,我相信它發生在恢復百分比達到100%之後。
我已經實現了此恢復的腳本重試,並且它嘗試了5次都失敗了。但是,如果使用相同的還原腳本手動重試,還原將完成。我已經在源代碼上運行了DBCC CHECKDB,並且沒有錯誤返回。數據庫的
兼容級別爲80(SQL 2000)和版本是539
在運行升級顧問時有問題的數據庫我看到了27個天體與老外連接sintax上* =,= *
不幸的是我不能更改過程來檢查這是不是罪魁禍首。 另一種可能性是有很多procs沒有BEGIN和END定界它的擴展,如果我在批處理中創建它們,這會混淆SQL。
UPDATE:
- 我已經成功地恢復了對SQL 2000箱數據庫。
- 我還在我的工作上實施了一次重試行爲,這次失敗了5次。
重試行爲失敗。但奇怪的是,如果我使用相同的還原腳本重試,則作業嘗試恢復成功。
更新2: 我已經手動恢復了數據庫遷移到sql 2008 r2。 所以我還沒有解決這個問題,並不會解決它,因爲在SQL 2008 R2上這不會發生。 感謝您的幫助。
兼容性在80和版本在539.我使用升級顧問,發現一些舊的語法連接,但沒有糾正它們。 – 2010-09-27 21:17:30
@GabrielGuimarães:...和升級顧問? – gbn 2010-09-27 21:18:18
還有舊的外部連接sintax,但它只是一個警告。 – 2010-09-27 21:22:40