SQL Server 的“独立”补充

Posted

技术标签:

【中文标题】SQL Server 的“独立”补充【英文标题】:"Standalone" complement for SQL Server 【发布时间】:2011-10-12 17:57:36 【问题描述】:

我运行一个使用 Visual Studio 2008 编程的内部应用程序,它使用 SQL Server 2008 作为后端。除了服务器之外,我的用户还要求能够将数据存储在独立文件中。引用的原因包括:

不在办公室或出差,有时去其他国家 我们在几个城市设有办事处,其中一些没有 sql server 需要制作“非官方”数据副本,用于备份、正在进行的工作、替代方案、发送电子邮件至其他办公室等

我应该如何实现这个?出于可维护性的考虑,理想的解决方案将是一个不需要复制或重写数据访问代码的独立数据库。只需设置连接字符串即可。

这样的事情可能吗?我想最近的亲戚是 SSCE,但我的理解是它缺少某些功能,例如视图、过程等。因此,如果任何数据访问代码使用这些对象,那么它不会延续到独立数据库。

目前,我使用 MS Access 作为我的独立数据库选项(因为这是内部所有用户都将拥有 Office)。到目前为止,我已经成功地完成了这项工作,但我想知道 Access 和 Sql Server 从根本上是两种不同的动物有多久了。

如前所述,目前该程序在 VS2008 中,但很快我希望升级到 VS2010 并开始使用实体框架,如果这有帮助的话。

编辑: 好吧,从下面的两个回答来看,SSCE 似乎是标准选择。但它不是一个完美的复制品,因为如前所述,它缺少完整 SS 的几个功能。我理解为什么,因为小型本地数据库可能不需要这些功能。但是,对于数据访问层最初是为 Sql Server 编码的应用程序,似乎至少有可能需要替代代码。

在每个用户的机器上安装 SSExpress 可能是保留 SS 功能的一种方式,但考虑到我们的设置,这是我犹豫不决的一步。

【问题讨论】:

【参考方案1】:

这正是他们创建“本地数据库缓存”的原因。 File -> New -> Local Database Cache

http://msdn.microsoft.com/en-us/library/bb882690.aspx http://msdn.microsoft.com/en-us/library/dd420781(v=vs.90).aspx

这称为偶尔连接的客户端。该框架将帮助您保留运行所需的数据片段,并允许您在重新连接时与服务器同步任何数据更改。

【讨论】:

这只是SQL Server Compact Edition的另一个名字【参考方案2】:

Microsoft's Sync Framework 可能值得研究。我们正在考虑将它用于一个项目,我们需要让客户端能够离线工作,然后在他们再次上线时同步到主服务器。

【讨论】:

所以假设 SSCE 是 Sync Framework 的默认数据库...SSCE 无法运行过程、触发器、函数等的事实永远不会成为问题? 老实说,我们还没有做到这一点。我们正越来越多地将 EF4 作为数据访问层,因此对 procs 等的支持对我们来说可能不是问题。 hmm... 因为我之前使用这些对象进行数据访问(尤其是进行批处理),所以我有点担心。但我从未使用过 EF,我想我不能说这是否会消除这种需求。

以上是关于SQL Server 的“独立”补充的主要内容,如果未能解决你的问题,请参考以下文章

跟我学Nginx,server 配置块介绍

SQL Server 2016的数据库范围内的配置

sql server——子查询

sql server 订阅发布快照发布

SQL入门--补充

解决启动SQL Server Management Studio 17时报Cannot find one of more components...的问题