如何以编程方式备份​​SQL Server数据库(mdf)以便以后逐行导入它?

时间:2011-11-16 11:07:19

标签: c# sql-server visual-studio-2010

我的目标是使用C#编写的Web应用程序项目将数据库(.mdf)备份为一个文件。 稍后应将备份加载到“恢复”页面,其中备份表中的数据可以逐行附加到原始数据库。 实现这一目标的好习惯是什么? 我想过只是复制mdf文件,但后来我读到了关于数据库的附加和分离。此外,我不知道如何处理_log.ldf文件。

我很期待你的提示。提前感谢您的帮助!

编辑:我只能使用免费的SQL Server Express,因为我想将我的程序分发给其他人。

4 个答案:

答案 0 :(得分:4)

或许,您可以参考Backup and Restore using C# for Sql Server来了解使用C#编写代码的完整概念,这在我使用它时帮助了我很多。

通过在C#中使用Backup类,您可以获得所有备份和恢复功能。

答案 1 :(得分:1)

如果您只想在之后逐行追加数据,可能更容易将每个表导出为CSV并随后导入(因此您在C#中使用行方式控制)。

如果您坚持使用一个文件,只需将所有CSV添加到zip。

您可以使用FileHelpers库(http://www.filehelpers.com/),您可以立即启动并运行。

答案 2 :(得分:0)

显然,SQL Server管理对象库中有一个Backup类。

你可能想先检查一下,因为它看起来并不复杂:

http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.backup.aspx

要求你在运行它的服务器上安装两个或三个库,尽管它们相当小 - 不是Windows SDK大小...

答案 3 :(得分:0)

请通过此链接了解如何使用c#和sql server backup data and restore。除了必须添加这些名称空间

Microsoft.SqlServer.Management.Smo;
Microsoft.SqlServer.Management.Common;