我有下一个任务。
假设我们在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
答案 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文章中的教程应该会帮助您。