SQL Server 复制订阅

原文: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

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

《欢迎交流讨论》

时间: 2024-10-22 22:56:01

SQL Server 复制订阅的相关文章

SQL Server 复制 订阅与发布

SQL Server 的复制技术 包括 订阅和发布 复制的组成部分:发布服务器(出版社),分发服务器(邮局),订阅服务器(读者,接受者) 发布服务器的作用:维护源数据库,由这些数据库出版的数据能够为复制所利用,检测并将所有出版数据的更改发送到分发服务器 分发服务器的作用:分发服务器包括分发数据库,并且存储元数据.历史数据和事务.根据所实施复制类型的不同,分发服务器所扮演的角色也各异,一般情况下与合并复制相比较,分发服务器对于快照复制和事务复制的角色更重要. 订阅服务器的作用:保持数据的副本,并接

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

一.背景 在复制的运用场景中,事务发布是使用最为广泛的,我遇到这样一个场景:在YangJiaLeClub数据库中有表.存储过程.视图.用户定义函数,需要提供给其它程序读取放入缓存,程序需要比较及时的获取到这些数据,需要从权限和性能控制的角度出发,我采用了SQL Server的事务复制技术和timestamp,下面只讲述事务复制的搭建过程: 二.实现过程 (一) 环境信息   操作系统 IP 服务器名称 数据库版本 数据库名称 数据库帐号信息 发布服务器 Windows 10 企业版  192.1

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

原文:SQL Server 复制 - 发布订阅(SQL Server 数据同步) SQL Server的同步是通过SQL Server自带的复制工具来实现的,分发布和订阅2大步. A,复制-发布 发布之前,需要设置好几个前置条件,发布属性和快照位置.发布主要是设置发布数据库,如未设置,所有的发布,订阅可正常进行,也可通过快照同步,但是却无法在后面的修改中实时同步. 其次,设置快照位置.快照位置设置是在“分发服务器属性”中的发布服务器设置.如果设置的位置不能被订阅机访问,订阅是最好采用发布机推送订

SQL Server复制入门(一)----复制简介

简介 SQL Server中的复制(Replication)是SQL Server高可用性的核心功能之一,在我看来,复制指的并不仅仅是一项技术,而是一些列技术的集合,包括从存储转发数据到同步数据到维护数据一致性.使 用复制功能不仅仅需要你对业务的熟悉,还需要对复制功能的整体有一个全面的了解,本系列文章旨在对SQL Server中的复制进行一个简单全面的探讨.(PS:在我的上篇文章中我发现某些文章的图片使用mspaint手绘更有感觉,但被很多人吐槽,因此在不 考虑个人羞耻感的前提下,本系列文章中的

SQL Server复制出错文章集锦

SQL Server复制出错文章集锦 为了方便大家对数据库复制过程中出错的时候更好地解决问题 本人收集了SQL Server相关复制出错解决的文章   The process could not execute 'sp_repldone/sp_replcounters' on 'ServerName' 潇湘隐者 事物复制遇到的几个错误 万剑齐发 一个事务复制的bug--更新丢失 续 stswordman 复制中发布服务器和订阅服务器内容不一致的解决办法 CareySon 一个事务复制的bug--

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

玩转SQL Server复制回路の变更数据类型.未分区表转为分区表 复制的应用: 初级应用:读写分离.数据库备份 高级应用:搬迁大型数据库(跨机房).变更数据类型.未分区表转为分区表 京东的复制专家 菠萝 曾经写过文章.在数据库大会上也做过演讲,但是我相信真正按照菠萝兄的文章自己去做一次实验的人应该不多 京东的复制专家 菠萝 的文章地址:Replication的犄角旮旯(一)--变更订阅端表名的应用场景 为什麽要玩转复制,大家想象一下:变更数据类型.未分区表转为分区表 这些业务场景经常都会发生,

SQL Server复制入门(一)----复制简介【转】

SQL Server复制入门(一)----复制简介 简介 SQL Server中的复制(Replication)是SQL Server高可用性的核心功能之一,在我看来,复制指的并不仅仅是一项技术,而是一些列技术的集合,包括从存储转发数据到同步数据到维护数据一致性.使用复制功能不仅仅需要你对业务的熟悉,还需要对复制功能的整体有一个全面的了解,本系列文章旨在对SQL Server中的复制进行一个简单全面的探讨.(PS:在我的上篇文章中我发现某些文章的图片使用mspaint手绘更有感觉,但被很多人吐槽

16、SQL Server 复制及常见错误处理

SQL Server 复制 复制是一组技术的组合,可以用此组合对数据和数据库对象进行复制由一个数据库移动到另一个数据库. 复制的英文是Replication,重复的意思,而不是Copy.复制的核心功能是存储转发,在源数据库中进行增.删.改之后,重复这个动作到其他数据库. 使用复制的原因 1.负载均衡:通过将数据复制到其他数据库服务器来减少当前服务器的负载. 2.分区:将经常使用的数据和历史数据进行隔离. 3.授权:将一部分数据提供给需要使用数据的人. 4.数据合并:每个区域都有各自的数据,将其数

SQL Server复制的阶段:1级 - SQL Server复制简介

塞巴斯蒂安·梅内,2012/12/26 该系列 本文是"Stairway系列:SQL Server复制的阶梯"的一部分 SQL复制可以解决运行数据库驱动的应用程序中的许多问题.出版/订阅者模型并不完全容易理解,脚本和监控复制系统的复杂性需要考虑.在这里,最后是一系列文章,注意为所有类型的SQL Server复制生成一个无行话的方法. 级别1:SQL Server复制简介 主要条目:rep-li-ca-tion 发音:\?re-pl? - 'ka-sh?n \ 功能:名词 日期:14世纪