【问题标题】:How to take a hot backup from a database SQL Server Express如何从数据库 SQL Server Express 进行热备份
【发布时间】:2015-08-10 14:34:24
【问题描述】:

是否可以使用 C# 代码从数据库 SQL Server EXPRESS(2012 或更低版本)进行 HOT 备份?

我看过这个article,但它似乎不适用于热备份。

另一种解决方案可能是执行查询“Backup Database ... to disk ...”;我将如何启动它?

【问题讨论】:

  • 您可以像任何其他查询一样“启动”它。 BACKUP DATABASE 只是您在 tsql 中执行的一个命令。
  • 那篇文章看起来好像做了一个“热”备份就好了。也就是说,它不需要使数据库脱机来进行备份。
  • @Ben Thul:BackupDatabase 函数头中的注释是“备份时不能使用数据库”
  • 这是一种情况,尽管 cmets 确实与代码匹配。即使数据库正在使用中,使用提供的代码也会产生事务一致的备份。

标签: c# sql-server database-backups


【解决方案1】:

是的,你可以

可以在SQL中调用backup命令进行热备份BACKUP DATABASE [mydb] TO DISK = N'mydb.BAK' WITH NOFORMAT, INIT

这会将文件写入磁盘。

SqlCommand cmd = new SqlCommand ("BACKUP DATABASE [mydb] TO  DISK = N'mydb.BAK' WITH NOFORMAT, INIT", connection);
cmd.ExecuteNonQuery();

【讨论】:

  • 是否可以使用数据库上下文(实体框架)异步启动它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-14
  • 1970-01-01
  • 1970-01-01
  • 2011-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多