2013-03-01 51 views
2

我會嘗試從C#應用程序做一個備份數據庫。我發現更多的教程是如何做到這一點。在新項目中複製一些解決方案並運行。如何在C#應用程序中進行備份?

"backup failed for server ".

在這一行:我得到了像一個連接錯誤,所有的時間

source.SqlBackup(server);

你知道我是怎麼解決這個問題?我認爲這個問題關係到服務器的連接(它壞了?)。

下面你可以看到備份方法:

public static void BackupDatabase(string backUpFile) 
{ 
    ServerConnection con = new ServerConnection(@".\SQLEXPRESS"); 
    Server server = new Server(con); 
    Backup source = new Backup(); 
    source.Action = BackupActionType.Database; 
    source.Database = "DB"; 
    BackupDeviceItem destination = new BackupDeviceItem(backUpFile, DeviceType.File); 
    source.Devices.Add(destination); 
    source.SqlBackup(server); 
    con.Disconnect(); 
    MessageBox.Show("Kopia wykonana!"); 
} 
+0

'backUpFile'的值是什麼?讓你的sql server服務帳戶有權寫入該位置? – 2013-03-01 16:52:27

+3

你應該放一個try/catch,並顯示'ex.ToString()'的值' – 2013-03-01 16:53:35

+0

在backuFile中輸入備份的路徑,例如。 BackupDatabase(@ 「C:\備份\ backup.bak」); 有沒有權限?我不知道我使用Windows身份驗證連接到SQL Server。 – Foee 2013-03-01 17:10:46

回答

2

夫婦的事情你去嘗試。

  1. 確保數據庫名稱正確

    source.Database = 「DB」; //檢查數據庫名稱實際上是'DB'。

  2. 我在過去使用ServerConnection連接字符串時遇到了一些問題,即使語法允許您這樣做。我所做的是從連接字符串中創建一個SqlConnection,然後將其提供給ServerConnection

    string connectionString = "Your connection string goes here"; 
    
    SqlConnection sqlCon = new SqlConnection(connectionString); 
    
    ServerConnection connection = new ServerConnection(sqlCon); 
    
  3. 我也會嘗試初始化備份對象。

    source.Initialize = true; 
    
1

添加完全控制PC用戶在備份文件夾C:\驅動器幫助!感謝所有的幫助!但只是我有一個問題:我如何修改上面的C#代碼,程序應該是你自己在C:\上創建備份文件夾,並做一個複製數據庫?目前我必須手動完成。

相關問題