C#SQL Server Express的备份和恢复

问题描述:

基本上我有一个Windows窗体C#程序,它使用SQL Server Express数据库来存储用户输入的数据。我想添加用户能够备份其数据库的能力,然后将备份或其他数据库加载到程序数据库中。C#SQL Server Express的备份和恢复

如果有人能指出我正确的方向,就像一篇很棒的文章或教程,因为我已经死了。

感谢

+0

有很多网站解释如何做到这一点。如果你使用已经存在的工具,而不是没有执行这样的事情,那么你和你的用户就会容易得多。在express数据库的情况下,所有你必须诚实地做的事情就是复制数据库文件,然后写文档,如何恢复该文件。 – 2011-12-14 20:15:44

你有几个选项来做到这一点:

  1. 在服务器上直接调用BACKUP DATABASERESTORE DATABASE命令。

  2. 使用SMO(SQL Server Management Objects)以编程方式执行备份还原操作。 (具体是sample

  3. 使用一些第三方实用程序/库。

+0

+1#2 ...... – RQDQ 2011-12-14 20:15:27

有关SQL Server的好处是,你可以做或多或少都与SQL(T-SQL或某种变体) - 这是好的,因为这意味着它是比较容易做到的最多的事,不得不担心(例如)SMO的可用性,并进一步采用合理的通用方式。

第二件好事是,如果您在SQL Server Management Studio中运行命令(可以为SQL Server Express下载一个版本的命令),它往往会(通常是在备份和还原的情况下) ),提供让您将脚本保存到文件而不是执行它。

因此,您可以直接使用SQL Server Management Studio来确定基于SQL的backu和resotre命令的结构,并从那里将它们集成到您的应用程序中。

然而,有一个“疑难杂症” - SQL服务器将只保存备份到/从机器上可见的驱动器中恢复备份&运行SQL Server实例的服务帐户,几乎肯定不是问题如果您的应用程序与用户在同一台​​机器上运行,但如果它们不在,可能会出现问题。