SQL Server数据库间同步方案

ChinaITOldMan 2018-06-11 07:02:24

上周学了下Oracle的GoldenGate,发现OracleGate在做数据库同步不错,请问以下SQL Server中以下问题,谢谢!

1.SQL Server中的复制(replication)、日志传送(log shipping)、镜相(Mirror)等,哪个做SQL Server间的同步比较好?各有什么优缺点?实际工作中一般用哪一个?
2.除上述功能做数据同步外,是否还有其他软件可以做(当然GoldenGate是可以做)?
3.SQLServer2008以后的CDC好像也是做数据库间数据同步的,请问有没有CDC的详细使用功能?

多谢!
...全文
1401 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
删库到跑路 2018-06-13
  • 打赏
  • 举报
回复
如果不需要辅助服务器进行读写的话可以镜像 复制的话是对表操作,如果有自增的字段会有点麻烦
OwenZeng_DBA 2018-06-12
  • 打赏
  • 举报
回复
引用 8 楼 mcxhh2005 的回复:
[quote=引用 6 楼 z10843087 的回复:] @mcxhh2005 如果新加表, 对于复制需要在发布端添加进去 ,并重新生成快照(也可能不需要)才能同步。 对于ALWAYSON 就是全自动的,不需要额外的操作。
多谢指导,thanks so much![/quote] 不用谢
ChinaITOldMan 2018-06-12
  • 打赏
  • 举报
回复
引用 6 楼 z10843087 的回复:
@mcxhh2005 如果新加表, 对于复制需要在发布端添加进去 ,并重新生成快照(也可能不需要)才能同步。 对于ALWAYSON 就是全自动的,不需要额外的操作。
多谢指导,thanks so much!
xiaoxiangqing 2018-06-12
  • 打赏
  • 举报
回复
镜像实时同步,缺点是镜像副本无法访问
OwenZeng_DBA 2018-06-12
  • 打赏
  • 举报
回复
@mcxhh2005 如果新加表, 对于复制需要在发布端添加进去 ,并重新生成快照(也可能不需要)才能同步。 对于ALWAYSON 就是全自动的,不需要额外的操作。
OwenZeng_DBA 2018-06-11
  • 打赏
  • 举报
回复
1.SQL Server中的复制(replication)、日志传送(log shipping)、镜相(Mirror)等,哪个做SQL Server间的同步比较好?各有什么优缺点?实际工作中一般用哪一个? 以上的方式都能做数据同步。复制是针对于表级别的,日志传送只能做异步的。镜像可以做实时同步,但是镜像副本无法提供访问。 还有一种是2012开始的ALWAYS ON,如果你是2012以及以上的版本建议使用ALWAYS ON,辅助副本可以提供访问 2.除上述功能做数据同步外,是否还有其他软件可以做(当然GoldenGate是可以做)? 其他的有商用的软件也可以做 3.SQLServer2008以后的CDC好像也是做数据库间数据同步的,请问有没有CDC的详细使用功能? 这个百度很多相关的文章,如果有CDC的具体问题再问吧
薛定谔的DBA 2018-06-11
  • 打赏
  • 举报
回复
1. 用哪个主要看应用场景,优缺点找到以前写过的 https://bbs.csdn.net/topics/392287743 2012 后可用 alwayson ag,但依赖域环境和计算机集群环境。 2. 在数据库级别内同步,一种是基于日志解析同步(sql server 没有直接提供,而是提供cdc),一种是在表记录中通过更新时间+添加时间 判断做同步(如阿里的datax)。 3. sql server 是闭源的,其事务日志不能直接读取,替代的就是使用cdc,cdc 是读取事务日志的,cdc可用跟踪表记录的所有更改,但会产生一个冗余的副本。GoldenGate 就是通过 cdc 读取记录的。cdc 日常中基本不会用到,官方有说也用于 ETL ,但似乎没听说有公司这样用,一般用2个字段 “更新时间+添加时间”就可以了。
ChinaITOldMan 2018-06-11
  • 打赏
  • 举报
回复
引用 1 楼 yenange 的回复:
如果只是 SQL Sever 的库之间同步, alwayson 就好了 , 维护比较方便,而且出现比较晚, 技术上比较先进, 算是集大成者。
您好,那在没有Always ON之前的版本,比如SQL Server2008中用哪一个比较好,另外请问您是否熟悉CDC,谢谢,麻烦您了!
吉普赛的歌 2018-06-11
  • 打赏
  • 举报
回复
如果只是 SQL Sever 的库之间同步, alwayson 就好了 , 维护比较方便,而且出现比较晚, 技术上比较先进, 算是集大成者。
ChinaITOldMan 2018-06-11
  • 打赏
  • 举报
回复
引用 4 楼 z10843087 的回复:
1.SQL Server中的复制(replication)、日志传送(log shipping)、镜相(Mirror)等,哪个做SQL Server间的同步比较好?各有什么优缺点?实际工作中一般用哪一个? 以上的方式都能做数据同步。复制是针对于表级别的,日志传送只能做异步的。镜像可以做实时同步,但是镜像副本无法提供访问。 还有一种是2012开始的ALWAYS ON,如果你是2012以及以上的版本建议使用ALWAYS ON,辅助副本可以提供访问 2.除上述功能做数据同步外,是否还有其他软件可以做(当然GoldenGate是可以做)? 其他的有商用的软件也可以做 3.SQLServer2008以后的CDC好像也是做数据库间数据同步的,请问有没有CDC的详细使用功能? 这个百度很多相关的文章,如果有CDC的具体问题再问吧
若在源库中修改了表结构or新加表,复制与Always on 是否也会同步修改目标库中对应的表结构 or 加上源库中的新表?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧