我试图设置从SQL Server 2008 R2到PostgreSQL 9.1的单向事务复制。 我正在尝试PGNP OLE DB提供程序。
我可以成功创build一个订阅,事务确实复制到PG服务器。 我在订阅上使用了sync_type ='none',因为在其他情况下,包括SQL Server特定选项(SET ANSI_NULLS ON等)在内的模式似乎被发送到PostgreSQL,而后者将其locking。
这很好,我可以使用SSIS并复制我的整个数据库,包括数据。 我的问题是,我怎样才能以安全的方式做到这一点? 因为如果我只是运行一个SSIS包导出数据,然后添加订阅,交易可能会丢失。
例如SSIS将数据导出到PG。 X行更新。 复制开始。 在这种情况下,行X的更新不会在我手动同步,但复制后启动。 我无法运行复制,因为可能会发生其他错误。
什么是适当的程序在这里?
我有几次类似的问题。 诀窍是设置2个订阅
所以这里是整个程序:
请注意,在日志读取器代理程序停止时,发布服务器上的事务将被卡在发布服务器的日志中。 所以要小心,不要让它充满。 步骤5(复制数据)可能很长,因此在主数据库上configuration足够大的日志(取决于事务量)。
顺便说一下,如果您将sync_type设置为“自动”,则snapshost代理将生成一个快照,同时也会正确同步。 我的赏金在哪里?
试试这篇文章SQL Server复制婴儿床