【问题标题】:Take 'Backup' of SQL Server Compact database对 SQL Server Compact 数据库进行“备份”
【发布时间】:2010-02-19 07:18:09
【问题描述】:

是否可以备份 SQL Server Compact 数据库(即 *.sdf)并还原。

【问题讨论】:

  • SQL Server Compact 不是 SQL SERVER。是 SQL 的一个子集。如果您想要完全兼容 SQL Server,请使用 SQL Server Express。

标签: c# sql-server sql-server-ce


【解决方案1】:

只需复制文件。完成。

引用Maintaining Databases:

因为 SQL Server Compact 3.5 是 基于文件的数据库系统,您可以 完成许多常见的数据库任务 例如备份、恢复和 使用文件删除数据库 系统 API。

要备份数据库,请关闭所有 连接到数据库,然后 复制 .sdf 文件。恢复一个 数据库,将 .sdf 文件复制回 它的常规工作地点。这些 即使数据库操作也能正常工作 设置为复制。放下一个 数据库,删除 .sdf 数据库 文件。

【讨论】:

  • 不需要以编程方式进行备份,例如 SqlCeCommand cmd = new SqlCeCommand(); cmd.Connection = 连接; cmd.CommandText = @"备份数据库 [D:\\CompactDatabases\\Northwind.sdf] 到磁盘 = 'C:\\Test\\DB.bak'"; cmd.CommandType = CommandType.Text; int i=cmd.ExecuteNonQuery();但它抛出异常如下:解析查询时出错。 [ Token line number = 1,Token line offset = 1,Token in error = BACKUP ] 那么如何以编程方式进行备份呢?
  • 以编程方式?当然。 File.Copy("mydb.sdf", mybackup.sdf");
  • 您提到的 AngryHacker 基于文件的还原的最大问题是“关闭与数据库的所有连接”如果不使网站脱机(假设它是一个网站)甚至应用程序池,这可能是不可能的进程可能正在保持文件打开。
【解决方案2】:

我使用 LINQ to SQL 将紧凑型 SQL 数据库写入 XML 文件,然后将其读回以恢复它。

【讨论】:

  • 感谢您的回复。你认为我们可以将备份从 SQL Server 数据库恢复到 SQL Server Compact 数据库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多