2012-03-30 92 views
1

我試圖在Visual Studio中創建我的SQL Server數據庫的備份2010年SQL Server備份命令錯誤

我使用下面的命令來備份數據庫:

BACKUP DATABASE Db TO DISK = 'c:\server.bak'

這是連接字符串,我正在使用。

<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Db.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/> 

但是,當我運行該命令時,我收到以下錯誤消息。

數據庫'Db'不存在。

這裏是描述我的錯誤截圖:

http://www.cs.purdue.edu/homes/aerfanfa/sqlerror.jpg

有誰有我的問題的解決方案? 謝謝!

回答

1

的問題是:你的數據庫db.mdf連接到SQL Server Express實例 - 因此,你不能備份。

如果你問我,這整個AttachDbFileName=.....的故事有點棘手 - 而且相當混亂。

我會推薦給忘掉使用AttachDbFileName=...東西,而是:

  • 只是db.mdf文件附加到本地SQL Server Express實例(使用SQL Server Management Studio Express的)

  • 使用邏輯數據庫名稱與附加數據庫進行交談而不是與.mdf文件混淆

一旦你完成了 - 然後你可以使用像BACKUP DATABASE ...等一切命令!

您的連接字符串也會更簡單!

<add name="ConnectionString" 
    connectionString="Server=.\SQLEXPRESS;Database=YourDatabaseName;Integrated Security=True;" 
    providerName="System.Data.SqlClient"/> 
+0

謝謝你!我感謝您的幫助。 – user1303992 2012-04-06 18:23:14

0

嘗試在Manament studio中右鍵單擊數據庫,選擇任務,然後單擊「備份」。設置參數後,您可以選擇「腳本」,這將給您一個適當的備份腳本。

備份腳本看起來像:

BACKUP DATABASE [Db] TO DISK = 
N'C:\Server.bak' 
WITH NOFORMAT, INIT, NAME = N'Db Backup', SKIP, NOREWIND, NOUNLOAD, 
STATS = 10 
GO