sql server2008数据库实时同步怎么做?一台服务器在电信,另一台是本地机

sql server2008数据库实时同步怎么做?一台服务器在电信,另一台是本地机,第1张

SQL Server在数据同步方面应用比较多还是复制技术,通过事务复制可以实现准实时同步,准实时同步的意思并不是真正的实时同步,总会有一定延迟的,这主要取决于两台服务器间的网络状况,即便网络状况非常好,比如内网中的2台机器,也是会有一定延迟的,一般在几秒吧。

另外事务复制对表结构要求比较严格,需要有主键。如果需要整库同步,可以考虑使用数据库镜像,这对表没有太多要求。

通过备份方式也可以实现,SQL Server本身也提供了日志传送功能来通过备份进行同步,但是这样数据延迟就更大了,取决于备份恢复的频率,可能并不符合楼主需要。

复制和数据库镜像这两项技术都不是一两句话能说清楚的,详细信息可以查看微软MSDN文档

http://msdn.microsoft.com/zh-cn/library/bb500346%28v=SQL.100%29.aspx

http://msdn.microsoft.com/zh-cn/library/bb934127%28v=SQL.100%29.aspx

1.安装CentOS7.0yum install ssh 安装SSH协议yum install rsync (rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件)service sshd restart 启动服务任务

2.配置Master无密码登录所有Salve,在Master机器上生成密码对

3.查看/home/hadoop/下是否有".ssh"文件夹,且".ssh"文件下是否有两个刚生产的无密码密钥对。

4.接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。

5.设置SSH配置用root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容。设置完之后记得重启SSH服务,才能使刚才设置有效。

6.退出root登录,使用hadoop普通用户验证成功同步另一台服务器的数据

这个要根据不同情况具体分析,有几种方案参考:

数据库A和数据库B是建立在两台独立的数据库服务器上,那么采用dblink方式是一种可行的方式,存在两个数据同步过程:

一、数据库A正常运行的时候需要将数据同步到备用库即数据库B;

二、数据库A不正常的时候启用数据库B,在数据库A恢复正常之前的数据更新都发生在数据库B,那么需要将数据库B的数据同步给数据库A。

第一种方式:前提是数据库A和数据库B本地网是24小时互通的同时对数据同步实时性有比较高的要求,那么可以建立DBLINK,在两个库都建触发器,不管当前在哪个库发生数据更新的时候实时同步数据到目标数据库;

第二种方式:如果数据同步的实时性要求不高,则可以通过定制存储过程的方式(给两个库的数据表加时间戳或者更新标志,)定时同步数据;

第三种方式:通过给两个数据库的数据表加更新标志字段,以第一种方式为主以满足实时性的要求,以第二种方式为辅弥补可能存在的触发器执行更新未成功的情况。

以上的方案都是从数据层面所做的处理,对于数据实时同步还是会存在一定的风险,那么双机热备应该说是最好的选择了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9990227.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存