我已经使用 vs2010 创建了一个 C# windows 应用程序,并且我使用的是 SQL Server CE 数据库。我正在寻找一种以编程方式备份我的数据库的方法。
有没有办法导出/导入我的整个数据库(作为 .sdf 文件),或者只是将其复制到另一个位置,然后导入并替换当前的?谁能提供我的代码来做到这一点?
我对此比较陌生,但我猜这并不像听起来那么困难。我在任何地方都找不到明确的答案,因此将不胜感激!
对于此任务,我们使用SQL Server 管理对象 (SMO)对象,这些对象可以使用 asp.net 代码访问备份/恢复功能。
基于文章如何:备份数据库和事务日志,这里是进行备份的示例的一部分:
// Create the Backup SMO object to manage the execution
Backup backup = new Backup();
// Add the file to backup to
backup.Devices.Add(new BackupDeviceItem(backupPath, DeviceType.File));
// Set the name of the database to backup
backup.Database = databaseName;
// Tell SMO that we are backing up a database
backup.Action = BackupActionType.Database;
backup.Incremental = false;
// Specify that the log must be truncated after the backup is complete.
backup.LogTruncation = BackupTruncateLogType.Truncate;
// Begin execution of the backup
backup.SqlBackup(server);