标签:SQL SERVER/MSSQL SERVER/数据库/DBA/高性能解决方案/高可用

概述

配置复制就没有数据库镜像和AlwaysOn的要求那么高,只需要两台服务器能通过TCP进行通讯即可,两台服务器操作系统和SQL版本都可以不完全一致,而且两台服务器也不需要加入域,所以配置复制订阅就简单多了,但是复制订阅主要是针对数据表而不能像镜像和AlwaysOn那样配置整个数据库,这也是它的缺点吧。

接下来主要除了前面介绍配置复制订阅后面还会解释一些需要注意的事项。

复制数据库:AdventureWorks2008R2

目录

配置分发服务器

将分发服务器和发布服务器配置为同一台服务器。

1.复制-本地发布-配置

2.配置分发向导-下一步

3.CLU11是发布服务器,这里选择将CLU11同时配置为分发服务器,会在CLU11上面创建分发数据库

4.选择快照路径,默认路径即可

5.分发数据库名称和分发数据库数据文件、日志文件路径

6.默认下一步

7.默认完成

8.完成分发服务器配置

创建发布

1.复制-本地发布-新建发布

2.选择需要发布的数据库

3.选择发布类型-事务发布

发布类型总共有四种,这里配置最常用的事务发布类型

4.选择需要配置发布的表

创建发布的表一定要存在主键列

5.查看发布的项目属性,默认配置即可

6.在表项目属性中主要是配置将哪些对象和设置应用的订阅服务器,

在属性中我们可以看到会复制聚集索引、排序规则、DML操作、DLL操作等应用到订阅服务器,

因为一般发布服务器和订阅服务器的业务应用是不一样的,所以默认只会复制这些主要的对象,不会复制非聚集索引外键等,因为在订阅服务器可能需要建的它需要的业务场景的索引。

7.不配置筛选,默认下一步

8.勾选立即创建快照并保持可用状态

9.配置代理安全性账户

10.用于连接到发布服务器的rep账户必须拥有AdventureWorks2008R2数据库的所有者权限,服务器级别的权限public即可

11.创建发布-下一步

12.输入发布项目名称

13.完成发布数据库配置

创建订阅

1.在订阅服务器中-复制-本地订阅-新建订阅

2.选择发布服务器-查找SQL Server发布服务器

3.连接CLU11发布服务器

4.由于CLU11服务器中只配置了一个发布,所以默认显示出刚才配置的发布

5.配置分发代理位置-选择在分发服务器上运行所有代理

6.下一步

8.配置订阅代理安全性账户

9.连接到订阅服务器的账户同样需要订阅数据库的所有者权限,服务器级别也是Public即可

10.代理计划-连续运行

11.初始化时间-立即

12.创建订阅

13.完成订阅创建

14.完成

查看配置

1.在发布服务器CLU11的路径下可以找到新生成的快照文件路径

2.在CLU11发布服务器的系统数据库中创建了“distribution”分发数据库

3.在订阅服务器,订阅数据库“AdventureWorks2008R2”中生成了发布的两张表,

注意:订阅数据库与发布数据库不需要一样,这里不要被误解

4.在发布服务器的复制下创建了一个发布项目

5.查看复制监视器,在这里可以配置和查看发布订阅和监控分发情况,可以配置警告

6.发布属性-这里可以配置和修改发布

7.订阅属性-这里可以修改订阅安全登入账号

8.在发布服务器的代理中生成了三个作业,分别是和分发有关的快照日志读取作业,和发布有关的发布作业,和订阅有关的分发作业。

添加新的发布表

1. 在复制监视器-我的发布服务器-CLU11-右键发布项目-属性,去掉”仅显示列表中已选中的项目勾选“

勾选”AWBuildVersion“表,确定保存

创建发布的表一定要存在主键列

2.复制监视器-我的发布服务器-CLU11-右键发布项目-生成快照

3.在订阅数据库查看生成的订阅表

4.在发布服务器的快照文件夹下面可以看到生成了一个新的快照文件夹

5.查看订阅属性,可以看到分发历史记录

总结

由于将分发服务器和发布服务器配置在同一台服务器,对发布服务器会有一定的压力,在平时的操作过程中如果需要对发布的表进行删除字段的操作之前首先要查看订阅表中是否创建了该字段的索引,如果创建了需要把字段从索引中去掉,否则会造成发布订阅报错。

SQL Server 高可用方案大全:

SQL Server AlwaysOn:http://www.cnblogs.com/chenmh/p/4484176.html

SQL Server 镜像:http://www.cnblogs.com/chenmh/p/4452902.html

SQL Server 事务日志传输:http://www.cnblogs.com/chenmh/p/3671030.html

SQL Server 复制:http://www.cnblogs.com/chenmh/p/4487766.html

故障转移群集:http://www.cnblogs.com/chenmh/p/4479304.html

如果文章对大家有帮助,帮忙推荐,谢谢!!!

备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。

《欢迎交流讨论》

SQL Server 复制订阅的更多相关文章

  1. SQL Server 复制 订阅与发布

    SQL Server 复制 订阅与发布 通过SQL Server 2008数据库复制实现数据库同步备份 SqlServer2008 数据库同步的两种方式(Sql JOB) SqlServer2008 ...

  2. SQL Server 复制:事务发布

    一.背景 在复制的运用场景中,事务发布是使用最为广泛的,我遇到这样一个场景:在Task数据库中有Basic与Group两个表,需要提供这两个表的部分字段给其它程序读取放入缓存,程序需要比较及时的获取到 ...

  3. SQL Server 复制:事务发布(读写分离)

    一.背景 在复制的运用场景中,事务发布是使用最为广泛的,我遇到这样一个场景:在YangJiaLeClub数据库中有表.存储过程.视图.用户定义函数,需要提供给其它程序读取放入缓存,程序需要比较及时的获 ...

  4. SQL Server 复制 - 发布订阅(SQL Server 数据同步)

    原文:SQL Server 复制 - 发布订阅(SQL Server 数据同步) SQL Server的同步是通过SQL Server自带的复制工具来实现的,分发布和订阅2大步. A,复制-发布 发布 ...

  5. 【SQL Server复制】数据库复制:修改表结构、新增表、新增存储过程 会被复制到订阅服务器?

    转自:https://www.cnblogs.com/happyday56/p/3849018.html 关键字:sql server复制 [SQL Server高可用性]数据库复制:修改表结构.新增 ...

  6. SQL Server 复制系列(文章索引)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 前言(Introduction) 复制逻辑结构图(Construction) 系列文章索引(Catalog) 总结&am ...

  7. SQL Server复制出错文章集锦

    SQL Server复制出错文章集锦 为了方便大家对数据库复制过程中出错的时候更好地解决问题 本人收集了SQL Server相关复制出错解决的文章   The process could not ex ...

  8. 玩转SQL Server复制回路の变更数据类型、未分区表转为分区表

    玩转SQL Server复制回路の变更数据类型.未分区表转为分区表 复制的应用: 初级应用:读写分离.数据库备份 高级应用:搬迁大型数据库(跨机房).变更数据类型.未分区表转为分区表 京东的复制专家 ...

  9. SQL Server发布订阅功能研究

    前提: 发布订阅只能是同一个内网的机器上才能使用,其实这个可以用配置管理器的别名功能设置之后就可以了,外网的也能通过这样的方式来搞. 配置过程参考老D的文章:http://www.cnblogs.co ...

随机推荐

  1. 结合谷歌地图多边形(polygon)与Sql Server 2008的空间数据类型计算某个点是否在多边形内的注意事项

    首先在利用 GEOGRAPHY::STPolyFromText(@GeoStr, 4326) 这样的函数把字符串转换为Geography类型时,字符串里经纬度的顺序是 “经度[空格]纬度”,即“lon ...

  2. Linux中安装NodeJs 、cnpm 、npm

    一.安装NodeJs 切换到 cd /usr/local/src/ 下载nodejs wget https://nodejs.org/dist/v6.9.3/node-v6.9.3-linux-x64 ...

  3. java内存泄露

    上一篇提到的是java垃圾回收,今天谈谈java的内存泄露. 首先谈下java的内存管理机制: 在Java程序中,我们通常使用new为对象分配内存,而这些内存空间都在堆(Heap)上. public ...

  4. SQL常见优化Sql查询性能的方法有哪些?

    常见优化Sql查询性能的方法有哪些? 1.查询条件减少使用函数,避免全表扫描 2.减少不必要的表连接 3.有些数据操作的业务逻辑可以放到应用层进行实现 4.可以使用with as 5.使用“临时表”暂 ...

  5. FZU 1914 单调队列

    题目链接:http://acm.fzu.edu.cn/problem.php?pid=1914 题意: 给出一个数列,如果它的前i(1<=i<=n)项和都是正的,那么这个数列是正的,问这个 ...

  6. memcache and redis 的区别

    memcache和redis都属于缓存但是memcache的存储大小是收到 限制的memcache的 键值长度是250,内存的大小限制是1M并且memcache不支持数据的持久化缓存 redis支持五 ...

  7. JavaScript(二) DOM

    当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素. 通过 id 查找 HTML ...

  8. 我的Python学习之路 Python的输入输出与基本数据类型

    *** python中的变量不需要事先声明再使用,而可以直接来一个变量名,后面一个赋值,接着一个数据值,如 hw = "hello python",相当于Python能智能的根据你 ...

  9. React 组件性能优化

    React组件性能优化 前言 众所周知,浏览器的重绘和重排版(reflows & repaints)(DOM操作都会引起)才是导致网页性能问题的关键.而React虚拟DOM的目的就是为了减少浏 ...

  10. [8.2] Robot in a Grid

    Imagine a robot sitting on the upper left corner of grid with r rows and c columns. The robot can on ...