2010-06-17 95 views
0

我試圖從運行SQLServer2005的服務器升級(無服務包)到一個服務器上運行SQLServer2005的Service Pack 3的獲取SQLServer2005的錯誤:備份集擁有比現有的「DBNAME」數據庫以外的數據庫的備份

我試圖通過在一個上進行備份,然後在另一個上進行恢復來將數據庫從一個複製到另一個。

我正在使用ssms。

當我嘗試恢復的備份,調用它DBNAME,在第一臺服務器上創建的,到第二個服務器(我創建的第二個服務器上的數據庫DBNAME)我得到錯誤信息:

備份集保存了除現有'DbName'數據庫以外的數據庫的備份

這裏發生了什麼事以及如何修復它?

+0

「備份和還原數據庫」主題涵蓋了一個非常非常大的問題集。您能否提供有關您如何創建備份以及如何嘗試恢復備份的更多詳細信息?更詳細的信息(文件,驅動器和文件夾)越好。 – 2010-06-17 16:35:38

回答

3

如果你創建了一個名爲dbname和你的數據庫試圖從第一個服務器應用不同數據庫(也稱爲DBNAME)的備份,那麼你會得到你正在嘗試備份不同的錯誤數據庫。這樣可以防止在您意外地用錯誤的備份內容替換數據庫時發生的錯誤。

有兩個解決方案,既簡單:

  • 使用RESTORE命令的WITH REPLACE選項,以替換數據庫內容與不同的數據庫備份集:

    Specifies that SQL Server should create the specified database and its related files even if another database already exists with the same name. In such a case, the existing database is deleted.

  • 在RESTORE操作之前顯式刪除現有數據庫。

SSMS有一個特殊的嚮導,這是否:右鍵點擊數據庫,Tasks/Copy Database...但我更願意用直T-SQL命令做手工。