在没有SQL Server服务的情况下访问SQL Server数据库

本文关键字:SQL Server 情况下 访问 数据库 服务 | 更新日期: 2023-09-27 18:17:05

我的c# . net(4.5.2)应用程序访问本地SQL Server(13.0.1601)数据库。

出于数据存档的目的,我的客户希望将程序和数据库的快照打包到一个文件夹中,以便在需要时运行旧状态。

如何实现不运行SQL Server服务,但只有文件夹内容和安装的。net运行时?

目前考虑的选项是将数据库导出为。bak或。csv并将它们放入文件夹中,但这些似乎涉及大量的体力劳动。

在没有SQL Server服务的情况下访问SQL Server数据库

正如marc在注释中提到的,您需要运行一个SQL实例来使用备份文件。

导出到。bak文件并不是"很多工作"-它只涉及登录到SQL Server(从应用程序)并发出正确的SQL命令。

但是为了再次查看它,你必须将它重新导入到SQL实例中——这与上面的步骤相反(尽管显然你必须重命名它,因为你的原始数据库仍将驻留在SQL实例中)。

如果你想避免安装SQL实例(服务),那么也许SQL Server Express LocalDB是你的一个选择-它完全在内存中运行

您可以创建一个脚本将表导出为CSV,并修改程序以使用q直接对这些CSV文件运行sql查询。

SQL Server没有嵌入式版本。最接近的是自2012年版本以来可用的LocalDB功能-它确实需要安装一些SQL Server组件,但不需要运行服务。安装它后,您将附加快照的MDF和LDF文件(必要时为只读)。