是否可以将两个sql express服务器与MS Sync Framework同步

时间:2011-11-03 11:21:17

标签: .net sql sql-server microsoft-sync-framework

我有下一个任务。

假设我们在DB中有以下表格

供应商
===========
标识
名称
.....

产品
===========
标识
VENDORID
名称
.....

我需要能够将主DB服务器与客户端数据库服务器同步(单向同步),但应该有可能在同步过程中应用一些过滤器(例如,对于cleint DB 1同步所有供应商为John的产品)。据我所知 - SQL Server复制不会帮助我,因为在这种情况下我必须使用SQL Server企业版。我研究过Sync Framework允许使用过滤器。
但是,是否可以将两个sql express服务器与MS Sync Framework同步? 我发现同步SQL Server< - >是可行的。 SQL Server SE和SQL Server< - > SQL Server CE

2 个答案:

答案 0 :(得分:2)

Sync Framework中的SqlSyncProvider与Sql Server,Sql Express或Sql Azure(即使即将推出的Sql 2012 LocalDB)配合使用。

查看此示例。 Synchronizing SQL Server and SQL Express

只需将连接字符串更改为指向本地和远程提供程序的Sql Express,它就可以正常工作。

该链接还包含使用过滤器的演练。

答案 1 :(得分:0)

看看这个Stack Overflow问题:Microsoft Sync Framework, Microsoft Entity Framework 4.1 & SQL CE 4.0

您可以使用SqlSyncProvider执行您想要执行的操作,但是在客户端使用Express数据库会有大量的自定义工作,特别是如果您想要使用过滤做任何奇特的事情。您可以通过使用Sync Framework调用“范围”来“配置”数据库来定义静态过滤器,但是如果您需要能够进行动态过滤,则必须为其中的大部分开发自定义提供程序。

客户端开箱即可支持SQL Ce,但如果您可以切换到使用SQL Ce,那么附加的SO文章中的教程应该会帮助您。