可以使用MS Sync Framework同步两个SQL Express服务器吗?

3

我有下一个任务。

假设我们在数据库中有以下表格:

供应商
===========
Id
名称
.....

产品
===========
Id
供应商Id
名称
.....

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


是的 - 这是可能的... 但根据您需要实现的内容,可能需要实现“自定义提供程序”。 - Yahia
2个回答

3
Sync Framework中的SqlSyncProvider可以与Sql Server、Sql Express或Sql Azure(甚至是即将推出的Sql 2012 LocalDB)一起使用。
查看此示例。 同步SQL Server和SQL Express 只需更改连接字符串以指向本地和远程提供程序的Sql Express,它就应该可以工作了。
链接包含一个使用筛选器的演练。

0

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

你可以使用SqlSyncProvider来实现你想要的功能,但是如果你想在客户端使用Express数据库并且想要进行任何高级筛选操作,那么就需要进行大量的自定义工作。你可以通过使用Sync Framework所谓的“scopes”来为数据库定义静态过滤器,但是如果你需要动态过滤的能力,那么你将不得不为其中的大部分内容开发自定义提供程序。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接