SQL Server 数据库同步,订阅、发布、复制、跨服务器
随便说两句
折腾了一周,也算把数据库同步弄好了。首先局域网内搭建好,进行各种测试,弄的时候各种问题,弄好以后感觉还是挺简单的。本地测试好了,又在服务器进行测试,主要的难点就是跨网段同步,最后也解决了,下面就按本地与服务器解决方案来写。
SQL Server 数据库同步
快照发布:发布服务器按预定的时间间隔向订阅服务器发送已发布数据的快照。
事务发布:在订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。
对等发布:对等发布支持多主复制。发布服务器将事务流式传输到拓扑中的所有对等方。所有对等节点可以读取和写入更改,且所有更改将传播到拓扑中的所有节点。
合并发布:在订阅服务器收到已发布数据的初始快照后,发布服务器和订阅服务器可以独立更新已发布数据。更改会定期合并。Microsoft SQL Server Compact Edition 只能订阅合并发布。
配置发布服务器
- 首先登录数据库(需要使用计算名),使用IP无法创建复制

- 创建过程,一路下一步。
- 新建发布服务器

- 选择数据库

- 发布类型(这里可以根据需要所改)

- 发布的表

- 筛选表(根据需求)

- 快照代理(点击更改,可以修改作业执行计划)

- 代理安全性

- 安全设置

- 创建发布

- 填写名称,发布完成


配置订阅服务器
- 新建订阅服务器

- 查找发布服务器,就上面步骤创建的发布服务器(需要发布服务器登录)

- 找到刚创建的快照

- 分发代理位置

- 订阅服务器(选择需要订阅的数据库)

- 分发代理安全性

- 这里登录本机登录名


- 同步计划

- 初始化订阅

- 向导操作


- 成功,搞定

关于跨服务器和跨网同步
- 设置分发服务器C:\Windows\System32\drivers\etc目录的host文件,添加订阅服务器信息:192.168.0.19 ASERVER (多台继续添加)
- 设置订阅服务器C:\Windows\System32\drivers\etc目录的host文件,添加发布服务器信息:192.168.0.17 BSERVER
- 最好设置一个统一数据库帐号用来同步
- 然后步骤同上发布服务器与订阅服务器,只是服务器名称不一样,使用同样的登录名与密码。
可能会遇到的问题
- 代理一定要打开
- 1433端口也得打开
- 有可能SQL Server数据库实例名与服务器名不一致会出错,具体百度
- 删除服务器可能会报错
使用感受
既有缺点也有优点,同步有延迟,数据量大的,同步也会比较慢,占用带宽。复制也算是分布式,实现了读写分离,高可用性。
最后说两句
写文章确实挺废时间,终于感受到各位大牛的不易了,不过写完的感觉让人挺爽,慢慢积累吧。
SQL Server 数据库同步,订阅、发布、复制、跨服务器的更多相关文章
- SQL SERVER 2012 使用订阅发布同步数据库
软件做大了,客户就多了,一个数据库服务器是远远不够的,当有一台数据服务器卦掉,那整个系统就会崩溃,所以必须考虑到数据库的自动同步与备份,当一台数据库服务 器宕机,自然就有用一台数据服务器启动起来保证整 ...
- Sql Server 数据库用Transact-SQL语句创建链接服务器
1.在查询编辑器中,输入以下 Transact-SQL 命令以便链接到名为 SRVR002\ACCTG 的 SQL Server 实例: USE [master] GO EXEC master.dbo ...
- SQL Server数据库同步SQL
select table_name,COLUMN_NAME,data_TYPE,CHARACTER_OCTET_LENGTH,CHARACTER_MAXIMUM_LENGTH from informa ...
- 如何选择 SQL Server 数据库跟操作系统版本
简介: 今天老大提需求, 需要一台 Windows 服务器, 需要安装最新版的 SQL Server 数据库.额, 上次搞 Windows 服务器还是4年前的事. 一.啥也没查, 直接下载操作系统.做 ...
- SQL Server 复制 - 发布订阅(SQL Server 数据同步)
原文:SQL Server 复制 - 发布订阅(SQL Server 数据同步) SQL Server的同步是通过SQL Server自带的复制工具来实现的,分发布和订阅2大步. A,复制-发布 发布 ...
- SQL SERVER 数据库表同步复制 笔记
SQL SERVER 数据库表同步复制 笔记 同步复制可运行在不同版本的SQL Server服务之间 环境模拟需要两台数据库192.168.1.1(发布),192.168.1.10(订阅) 1.在发布 ...
- SQL Server 可更新订阅中有行筛选的同步复制移除项目而不重新初始化所有订阅!
原文:SQL Server 可更新订阅中有行筛选的同步复制移除项目而不重新初始化所有订阅! 在可更新订阅的同步复制中,有行筛选的项目表,移除的时候会提示重新初始化所有的快照并且应用此快照,这将导致所有 ...
- SQL Server 2008 R2的发布订阅配置实践
纸上得来终觉浅,绝知此事要躬行.搞技术尤其如此,看别人配置SQL SERVER的复制,发布-订阅.镜像.日志传送者方面的文章,感觉挺简单,好像轻轻松松的,但是当你自己去实践的时候,你会发现还真不是那么 ...
- SQL Server 2005同步复制
原文:SQL Server 2005同步复制 以下实现复制步骤(以快照复制为例) 运行平台SQL SERVER 2005 一.准备工作: 1.建立一个 WINDOWS 用户,设置为管理员权限,并设置密 ...
随机推荐
- 【Project Euler 1】Multiples of 3 and 5
题目要求是: If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and ...
- angularjs中使用ng-bind-html和ng-include
下面这个例子,往div标签内添加html内容: <!doctype html> <html ng-app="myApp"> <head> < ...
- java中形参个数可变的方法使用
public class Varargs { public static void main(String[] args) { test(3,"java","C++&qu ...
- 利用Nginx搭建http和rtmp协议的流媒体服务器[转]
利用nginx搭建http和rtmp协议的流媒体服务器 实验目的:让Nginx支持flv和mp4格式文件,同时支持Rtmp协议:同时打开rtmp的hls功能资料:HTTPLive Streaming( ...
- Be Happy.——我的ACM退役贴
一个月的忙碌后,最终能静下心来写一些什么. 该结束的最终都要结束了.考试,课程设计,所剩寥寥无几的大学时光,ACM. 看过不少大牛的退役贴,自嘲成银牌狗铜牌狗.写一写碎碎念,大抵如此,每一个人都无法落 ...
- Python 命令行输出的颜色设置
Console上运行的python程序,有没有办法让print输出的文本可以显示不同的颜色? 这个其实跟python无关,跟具体所用console的类型有关系,不同的类型对应不同的控制码,如果是ans ...
- String的split()方法探索和大揭秘
事实上没打算写这么一篇博文的,可是昨天在逛论坛的时候,发现一帖子,然后我又把帖子的内容在群里发了一通,结果出现了让人吃惊的结果,所以这里简单的给大家分享一下split()方法,免得大伙儿以后还会出现这 ...
- Android--从路径中提取文件名
方法一:利用String类 public String getFileName(String pathandname){ int start=pathandname.lastIndexOf(" ...
- Android虚拟键盘弹出时挡住EditText解决方法
在manifest的activity节点使用 Xml代码 <activity android:windowSoftInputMode="adjustResize"/> ...
- TextWatcher
对于一些需求,如非法字符限制(例如不允许输入#号,如果输入了#给出错误提示),做成动态判断更方便一些,而且容易扩展: 在Android里使用TextWatcher接口可以很方便的对EditText进行 ...