我正在嘗試創建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專業版。
請讓我知道如果在上面的代碼中有任何錯誤。 如果還有另外一個好的代碼可以用於這個過程,請告訴我
請幫幫我。
您的代碼看起來不錯 你已經安裝了SQL Server的機器上? –
您使用的是哪個版本的SQL Server?對於SQL 2008及以上版本,Microsoft提供了類似DACPAC框架的東西,可用於導出dacpac(和bacpac),導入dacpac(bacpac)並創建備份。 – AlwaysAProgrammer
是的我使用Microsfot Sql Server 2008 R2 – amila