2013-03-04 23 views
0

我想創建特定數據庫的備份使用C#代碼,併爲此我使用以下代碼。使用c#獲取問題的sqlserver備份

代碼

 Console.WriteLine("Backup manager"); 

     Backup bkpDBFull = new Backup(); 

     bkpDBFull.Action = BackupActionType.Database; 

     bkpDBFull.Database = "SampleDB"; 

     bkpDBFull.Devices.AddDevice(@"D:\Temp\Back\fulBak.bak", DeviceType.File); 
     bkpDBFull.BackupSetName = "Database backup"; 
     bkpDBFull.BackupSetDescription = "Code backup"; 
     bkpDBFull.Initialize = false; 

     bkpDBFull.PercentComplete += CompletionStatusInPercent; 
     bkpDBFull.Complete += Backup_Completed; 

     Server MyServer = new Server("Data Source=.;Initial Catalog=SampleDB;User ID=user;Password=pass"); 

     bkpDBFull.SqlBackup(MyServer); 

和兩個事件的跟隨。

CompletionStatusInPercent

private static void CompletionStatusInPercent(object sender, PercentCompleteEventArgs args) 
    { 
     Console.Clear(); 
     Console.WriteLine("Percent completed: {0}%.", args.Percent); 
    } 

Backup_Completed

private static void Backup_Completed(object sender, ServerMessageEventArgs args) 
    { 
     Console.WriteLine("Hurray...Backup completed."); 
     Console.WriteLine(args.Error.Message); 
    } 

在整個代碼它在下面的代碼獲得一個只有一個問題

問題代碼

 Server MyServer = new Server("Data Source=.;Initial Catalog=SampleDB;User ID=user;Password=pass"); 

我想我以錯誤的方式把sqlserver的名字。

我需要如何解決此問題的解決方案。

回答

1

你混淆了構造函數。新服務器的參數是服務器的名稱(字符串)或smo名稱空間中類的實例。它的構造函數將連接字符串作爲參數。

0

如這裏,託尼·霍普金森我做了更多的研究,並提出了一個解決方案...

我只是簡單的刪除我的問題的代碼與下面的代碼...

 SqlConnection con = new SqlConnection(@"Integrated Security=SSPI; Data Source=."); 
     ServerConnection sc = new ServerConnection(con); 
     Server MyServer = new Server(sc); 

所以,我希望這會對很多其他人有用......