【发布时间】:2013-07-09 15:21:52
【问题描述】:
我正在使用 c# 以编程方式备份某些 sql server 数据库。我认为 Microsoft.SqlServer.Management.Smo 和其他一些库是为此目的而制作的。现在我可以备份数据库了。很不错。这是代码:
var server = new Server(@"" + InstanceName);
var backuper = new Backup();
try
{
backuper.Action = BackupActionType.Database;
backuper.Database = DbName;
backuper.Devices.AddDevice(DbName + ".bak", DeviceType.File);
backuper.BackupSetName = DbName + " - Yedek";
backuper.BackupSetDescription = "Açık Bulut Depo - " + DbName + " - Yedek";
backuper.ExpirationDate = DateTime.Now.AddYears(20);
server.ConnectionContext.Connect();
backuper.SqlBackup(server);
}
catch(Exception ex){//..}
我的问题是如何获取数据库备份到的设备的路径? 我知道我可以将自己的路径指定为:
backuper.Devices.AddDevice("C:\SOMEPATH\" + DbName + ".bak", DeviceType.File);
然后我实际上可以知道它在哪里,但我想要做的是将它备份到它的默认位置并获取它的路径。请帮我解决这个问题。
【问题讨论】:
-
也许备份完成后,您可以找到与数据库关联的最新备份集并从那里解决?
标签: c# sql-server backup