我们需要在两台服务器之间同步数据库和映像文件。源服务器有sql server 2000,目标服务器有sql server 2008.我们需要同步sql server 2000中某些表中的数据,以便更新后的数据每隔一段时间进入sql server 2008。与存储图像的文件夹类似。使用Microsoft SQL Server 2000的同步框架2.1
我试图用WCF实现Microsoft同步框架(http://msdn.microsoft.com/sync)以实现目标。我成功地运行下面的项目在SQL Server 2008中的两个数据库:
然而,当我试图数据的数据库之间的一个在SQL Server 2000和SQL Server 2008同步,那么我无法同步数据。
问题:
反正到SQL Server 2000和SQL Server 2008之间同步数据?
如果没有,是否还有其他可能的架构可以实现以实现目标?
谢谢你的链接。我试图使该项目针对SQL Server 2000工作,如链接所示。我在其中一个存储过程中操作了min_active_version(),这样它就不会出错。除了代码sampleSyncAgent.Synchronize()触发时,所有东西都可以工作,但我得到了“快照隔离事务失败访问数据库'DBName'”的异常,因为此数据库中不允许快照隔离,使用ALTER DATABASE允许快照隔离。如你所知,我不能在sql server 2000中使用快照隔离(ALTER DATABASE [数据库名称] SET ALLOW_SNAPSHOT_ISOLATION ON)。 – Bikee
我认为你不能设置快照隔离。在此查看Oracle提供程序示例:http://code.msdn.microsoft.com/Database-Sync-Oracle-and-037fb083。您可以将您的自定义提供程序与此类似处理。 – JuneT
嗨JuneT,我已经看过Oracle提供程序示例并在SQL Server 2000版本中进行了转换。将所有pl/sql脚本转换为sql server版本并更改代码以使其与sql server 2000兼容,最后出现相同的错误时非常痛苦。这个错误在SynchronizationHelper.cs的第47行中是一样的(即:SyncOperationStatistics stats = orchestrator.Synchronize();)。你自己试过了吗?如果是的话,如果你和我分享一些知识,那会很棒。 – Bikee