0

已經與VS2010和C#Windows應用程序。我想知道一種以編程方式備份​​和恢復本地mdf數據庫的方法。隨着sdf數據庫我使用文件複製,但它似乎不適用於mdf文件。 任何人都可以幫忙嗎?如何備份 - 我恢復密度纖維板數據庫

+0

你能告訴我們你的連接字符串打電話?我在問,因爲我需要知道您是否使用附加到SQL Server(Express)實例的數據庫(在這種情況下:請參閱Steve對此方案的完美答案),或者您是否使用「自由浮動「'這就是BEING連接僅在需要 –

+0

抱歉耽擱.mdf'文件,我使用的是‘自由浮動’密度纖維板 – MarcusV

+0

這裏是我的連接字符串:的connectionString =」數據源= \ SQLEXPRESS; AttachDbFilename = | DataDirectory目錄| \ Database1.mdf;集成安全性=真;用戶實例=真」的providerName = 「System.Data.SqlClient的」 – MarcusV

回答

2

嘗試這種方式:

  • 轉至SQL Management Studio並選擇要 備份
  • 右擊數據庫,然後選擇「任務」 - >「備份」
  • 調整參數只要你喜歡,但不要確認對話框
  • 按下SCRIPT鍵並關閉對話框
  • 在查詢窗口中在ba前面插入以下文本ckup 命令

    CREATE PROCEDURE DO_BACKUP 
    AS 
    BEGIN 
        -- HERE GOES THE BACKUP TEXT CREATED BY THE SCRIPT BUTTON 
        -- FOR EXAMPLE 
        BACKUP DATABASE [Customers] 
        TO DISK = N'E:\backups\customers.bak' 
        WITH NOFORMAT, NOINIT, 
        NAME = N'Customers - Full Database Backup', 
        SKIP, NOREWIND, NOUNLOAD, STATS = 10 
    END 
    

並執行使用感嘆號按鈕(選擇正確的數據庫)。

現在你有一個名爲DO_BACKUP一個存儲過程,你可以從你的代碼中使用像SqlConnection正常ADO.NET對象和SqlCommand

+0

這一工程 - *** *** IF的數據庫附加到SQL Server實例。從這個問題來看,我幾乎認爲OP沒有將數據庫附加到實例 - 而是作爲一個「自由浮動」的.mdf文件,它可以根據需要附加到SQL Server Express的用戶實例上。在這種情況下,不幸的是,這種方法不起作用。 –

+0

謝謝@marc_s當子彈清單後面跟着代碼時,我總是迷路了。 – Steve

+0

由至少8個字符(而不是4) –