Sql-Server

移動(恢復)以前不存在的 SQL Server 2005 數據庫

  • March 13, 2012

我沒有對此做好準備,但在嘗試從遠端伺服器恢復數據庫後發現,如果數據庫之前不存在,它將不會恢復。我會做的是

  1. 創建一個 .bak 文件(備份數據庫)
  2. 使用共享文件夾將 .bak 文件複製到遠端伺服器
  3. 在 SQL Server Management Studio 中執行還原以還原數據庫

它會給我錯誤。我想我幾乎是偶然發現了它(或者很沮喪,只是將它恢復到數據庫之上,並且它起作用了)。

現在,當我輸入問題時,我意識到移動可能與恢復不同。要恢復,數據庫必須已經存在?

我再次處於相同位置以恢復系統上不存在的數據庫。

1. 我要遵循什麼程序?

2. 在遠端伺服器上恢復成功之前需要對.bak文件設置權限嗎?

3. 或者有更好的方法嗎?

我錯過了什麼嗎?我想知道,恢復(或移動)數據庫時的規則是什麼。

編輯:添加對話框錯誤。我只是重複了這個過程。我不確定這是我之前遇到的確切錯誤。我重命名了我擁有的原始數據庫。然後我使用 SSMS 導入。

在此處輸入圖像描述

不,對於還原,您不必已經存在數據庫(請注意不要with replace在命令中設置選項restore database)。

以下語句將從備份中創建一個新數據庫:

RESTORE DATABASE [YourNewDbName] 
FROM  DISK = N'C:\YourBackupFile.bak' 
WITH  FILE = 1,  
   MOVE N'YourDataFile' TO N'C:\YourNewDbName.mdf',  
   MOVE N'YourLogFile' TO N'C:\YourNewDbName_1.ldf',  
   NOUNLOAD,  
   STATS = 10
GO

顯然,相應地修改參數。但這不需要YourNewDbNamerestore database.

引用自:https://dba.stackexchange.com/questions/14849