SQL Server 复制订阅
标签: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 复制订阅的更多相关文章
- SQL Server 复制 订阅与发布
SQL Server 复制 订阅与发布 通过SQL Server 2008数据库复制实现数据库同步备份 SqlServer2008 数据库同步的两种方式(Sql JOB) SqlServer2008 ...
- SQL Server 复制:事务发布
一.背景 在复制的运用场景中,事务发布是使用最为广泛的,我遇到这样一个场景:在Task数据库中有Basic与Group两个表,需要提供这两个表的部分字段给其它程序读取放入缓存,程序需要比较及时的获取到 ...
- SQL Server 复制:事务发布(读写分离)
一.背景 在复制的运用场景中,事务发布是使用最为广泛的,我遇到这样一个场景:在YangJiaLeClub数据库中有表.存储过程.视图.用户定义函数,需要提供给其它程序读取放入缓存,程序需要比较及时的获 ...
- SQL Server 复制 - 发布订阅(SQL Server 数据同步)
原文:SQL Server 复制 - 发布订阅(SQL Server 数据同步) SQL Server的同步是通过SQL Server自带的复制工具来实现的,分发布和订阅2大步. A,复制-发布 发布 ...
- 【SQL Server复制】数据库复制:修改表结构、新增表、新增存储过程 会被复制到订阅服务器?
转自:https://www.cnblogs.com/happyday56/p/3849018.html 关键字:sql server复制 [SQL Server高可用性]数据库复制:修改表结构.新增 ...
- SQL Server 复制系列(文章索引)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 前言(Introduction) 复制逻辑结构图(Construction) 系列文章索引(Catalog) 总结&am ...
- SQL Server复制出错文章集锦
SQL Server复制出错文章集锦 为了方便大家对数据库复制过程中出错的时候更好地解决问题 本人收集了SQL Server相关复制出错解决的文章 The process could not ex ...
- 玩转SQL Server复制回路の变更数据类型、未分区表转为分区表
玩转SQL Server复制回路の变更数据类型.未分区表转为分区表 复制的应用: 初级应用:读写分离.数据库备份 高级应用:搬迁大型数据库(跨机房).变更数据类型.未分区表转为分区表 京东的复制专家 ...
- SQL Server发布订阅功能研究
前提: 发布订阅只能是同一个内网的机器上才能使用,其实这个可以用配置管理器的别名功能设置之后就可以了,外网的也能通过这样的方式来搞. 配置过程参考老D的文章:http://www.cnblogs.co ...
随机推荐
- [译]:Xamarin.Android开发入门——Hello,Android快速上手
返回索引目录 原文链接:Hello, Android_Quickstart. 译文链接:Xamarin.Android开发入门--Hello,Android快速上手 本部分介绍利用Xamarin开发A ...
- Dev GridView行拖拽
http://blog.csdn.net/keyrainie/article/details/8513802 http://www.cnblogs.com/qq4004229/archive/2012 ...
- Java 之 常用类(一)
1.字符串: a.分类:String.StringBuffer.StringBuilder b.特殊:①String是唯一一个可以直接用常量赋值的引用数据类型 ②String的常量也是一个对象 (即 ...
- 在 Delphi 中判断一个字符是中文的方法
http://blog.163.com/l1_jun/blog/static/143863882011741124581/ 由于 Delphi2005 支持中文标识符,在编写 PASCAL 词法分析器 ...
- 该不该在C#中使用var关键词
作为一个并不勤快的程序猿,在项目开发过程中总是想尽办法少写代码,对var关键词的使用自然不会放过,几乎在每个能使用var的地方都用了var,对此,很多朋友同事给出了不同的建议,觉得能不使用var关键词 ...
- JavaScript读书笔记(一)
自动类型转换 在JavaScript中,使用 == .=== 和 - 等运算符能够使得类型自动转换. 关于不同类型的值的比较 flase == 0; //true "" == fl ...
- 一张图系列——从CreateProcess到main函数的过程
整体过程如下: 需要说明两点: 1.在XP中,新进程主线程的启动,会先执行一个用户态的APC,会执行ntdll!LdrInitializeThunk进行程序执行前的一些列初始化操作.其中很重要任务就是 ...
- ASCII和16进制对照表
十六进制代码 MCS 字符或缩写 DEC 多国字符名 ASCII 控制字符 1 00 NUL 空字符 01 SOH 标题起始 (Ctrl/A) 02 STX 文本起始 (Ctrl/B) 03 ETX ...
- Ansible-playbook批量部署,更新war脚本,可以再完善----后续再update
- name: install tomcat admin hosts: all sudo: True vars: war_file: /root/test.war tomcat_root: /data ...
- C#中分割字符串输出字符数组
来自博客园 http://www.cnblogs.com/yugen/archive/2010/08/18/1802781.html 1.用字符串分隔: using System.Text.Reg ...