2010-09-27 149 views
0

我正在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上這不會發生。 感謝您的幫助。

回答

0

我已經手動恢復數據庫上我的遷移到SQL 2008 R2。

所以我沒有解決這個問題,並且不會修復它,因爲我已經移到了sql 2008 r2中,而這種情況已經不再發生了。

非常感謝您的幫助。

1

檢查SQL Server 2000中數據庫的兼容性:它們是65嗎?

錯誤156語法不正確,基本上,它通常是由兼容性不匹配造成的。 SQL Server 2008不支持「65」

在備份/恢復之前您是否嘗試過upgrade advisor

編輯:

外加入。嗯

只是注意到,爲SQL Server 2005 it's discontinued,但爲SQL Server 2008 it's deprecated。我的猜測是*00*語法正在破壞事情,無論升級顧問和MSDN說什麼。我個人並沒有使用它,呃,我從6.5遷移到SQL Server 7 ...

+0

兼容性在80和版本在539.我使用升級顧問,發現一些舊的語法連接,但沒有糾正它們。 – 2010-09-27 21:17:30

+1

@GabrielGuimarães:...和升級顧問? – gbn 2010-09-27 21:18:18

+0

還有舊的外部連接sintax,但它只是一個警告。 – 2010-09-27 21:22:40

相關問題