【发布时间】:2010-10-17 14:02:53
【问题描述】:
我正在使用以下代码备份 SQL 数据库:
void BackupDatabase(string sConnect, string dbName, string backUpPath)
{
using (SqlConnection cnn = new SqlConnection(sConnect))
{
cnn.Open();
dbName = cnn.Database.ToString();
ServerConnection sc = new ServerConnection(cnn);
Server sv = new Server(sc);
// Create backup device item for the backup
BackupDeviceItem bdi = new BackupDeviceItem(backUpPath, DeviceType.File);
// Create the backup informaton
Microsoft.SqlServer.Management.Smo.Backup bk = new Backup();
bk.PercentComplete += new PercentCompleteEventHandler(percentComplete);
bk.Devices.Add(bdi);
bk.Action = BackupActionType.Database;
bk.PercentCompleteNotification = 1;
bk.BackupSetDescription = dbName;
bk.BackupSetName = dbName;
bk.Database = dbName;
//bk.ExpirationDate = DateTime.Now.AddDays(30);
bk.LogTruncation = BackupTruncateLogType.Truncate;
bk.FormatMedia = false;
bk.Initialize = true;
bk.Checksum = true;
bk.ContinueAfterError = true;
bk.Incremental = false;
// Run the backup
bk.SqlBackup(sv);
}
}
在我的系统 (Win7 x64) 中它工作正常,但在目标系统 (WinXP SP3 x86) 中我收到以下错误:
我该如何解决它?
谢谢。
【问题讨论】:
-
显然,您需要在服务器上安装程序集。尝试安装 SQL Server 客户端?
-
是的,我在目标系统中安装了
SQL Express 2008 R2。
标签: c# .net sql-server backup smo