微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server – SQL Server OLEDB / ODBC复制的安全初始同步

我正在尝试设置从sql Server 2008 R2到Postgresql 9.1的单向事务复制.我正在尝试PGNP OLE DB提供程序.

我可以成功创建订阅,并且事务确实复制到PG服务器.我在订阅上使用sync_type =’none’,因为看起来,否则,架构(包括sql Server特定选项(SET ANSI_NULLS ON等))会被发送到Postgresql,这会搞砸它.

这很好,我可以使用SSIS并复制整个数据库,包括数据.我的问题是,我怎样才能以安全的方式做到这一点?因为如果我只是运行SSIS包来导出数据,那么添加订阅,事务可能会丢失.

例如. SSIS将数据导出到PG.第X行已更新.复制开始.在这种情况下,行X的更新不会在我的手动同步中,而是在之后开始复制.我无法运行复制,因为可能会发生其他错误.

这里的正确程序是什么?

解决方法

我有好几次类似的问题.这样做的诀窍是设置2个订阅

>您当前设置的那个
>另一个sql server数据库,它将同步“正常”

所以这是整个过程:

>配置一个sql server订阅者,根据需要同步它,重要的是确保该订阅者正确同步
>将复制配置为postgres.注意在postgres中创建所有目标表,但不关心数据同步.
>在此阶段,当您修改数据库上的数据时,它将复制到两个从属服务器上.现在,您在分销商处停止le LOG READER代理.而你等待(感谢复制监视器),两个订阅代理都已经处理了所有交易给两个订阅者.
>截断POSTGRES订阅者的所有复制表
>将所有表从sql订阅服务器(不是主服务器!!)复制到Postgres订阅服务器.
>两个用户现在拥有完全相同的数据!
>启动日志读取器代理.你完成了

请注意,当日志读取器代理停止时,发布服务器上的事务将停留在发布服务器的日志中.所以要注意不要让它充分发挥.步骤5(复制数据)可能很长,因此在主服务器上配置足够大的日志(取决于事务量).

顺便说一句,如果你将sync_type设置为’automatic’,那么snapshost代理将生成一个快照,该快照也将被正确同步.哪里是我的赏金?

原文地址:https://www.jb51.cc/mssql/80449.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐