2013-07-09 16 views
0

我正在嘗試創建SqlServer備份和還原C#應用程序。無法引用到Microsoft.SqlServer.ConnectionInfo

我用下面的代碼。

public static void BackupDatabase(string backUpFile) 
    { 
    ServerConnection con = new ServerConnection(@"xxxxx\SQLEXPRESS"); 
    Server server = new Server(con); 
    Backup source = new Backup(); 
    source.Action = BackupActionType.Database; 
    source.Database = "MyDataBaseName"; 
    BackupDeviceItem destination = new BackupDeviceItem(backUpFile, DeviceType.File); 
    source.Devices.Add(destination); 
    source.SqlBackup(server); 
    con.Disconnect(); 
    } 

public static void RestoreDatabase(string backUpFile) 
    { 
    ServerConnection con = new ServerConnection(@"xxxxx\SQLEXPRESS"); 
    Server server = new Server(con); 
    Restore destination = new Restore(); 
    destination.Action = RestoreActionType.Database; 
    destination.Database = "MyDataBaseName"; 
    BackupDeviceItem source = new BackupDeviceItem(backUpFile, DeviceType.File); 
    destination.Devices.Add(source); 
    destination.ReplaceDatabase = true; 
    destination.SqlRestore(server); 
    } 

然後我嘗試添加下面引用

Microsoft.SqlServer.Management.Sdk.Sfc;

Microsoft.SqlServer.Smo;

Microsoft.SqlServer.SmoExtended;

Microsoft.SqlServer.ConnectionInfo;

他們現在在參考列表中。 但我只能使用「使用Microsoft.SqlServer.Management.Sdk.Sfc;」 其他不能使用。 這是爲什麼?

我正在使用VS8專業版。

請讓我知道如果在上面的代碼中有任何錯誤。 如果還有另外一個好的代碼可以用於這個過程,請告訴我

請幫幫我。

+0

您的代碼看起來不錯 你已經安裝了SQL Server的機器上? –

+0

您使用的是哪個版本的SQL Server?對於SQL 2008及以上版本,Microsoft提供了類似DACPAC框架的東西,可用於導出dacpac(和bacpac),導入dacpac(bacpac)並創建備份。 – AlwaysAProgrammer

+0

是的我使用Microsfot Sql Server 2008 R2 – amila

回答

0

您需要添加參考Microsoft.SqlServer.dac.dll

+0

我無法在Assemblies中找到它。我需要下載並添加嗎?在哪裏我可以下載這個DLL – amila

+0

你將不得不下載並安裝Sql Server數據工具(SSDT) – AlwaysAProgrammer

+0

是否與VS8專業版兼容。我可以在哪裏下載? – amila