在现有AlwaysOn集群增加发布订阅节点

配置

前提

  1. 节点1、节点2在AlwaysOn集群,节点3作为集群外节点使用订阅复制集群数据同步
  2. 发布对象必须要有主键

步骤

  1. 登录节点3配置分发distributor
  2. 在节点3中指定节点1和节点2是发布服务器
  3. 登录节点2指定节点3是分发服务器
  4. 登录节点1指定节点3是分发服务器
  5. 登录节点1创建发布
  6. 登录节点3,在分发数据库下执行下面的语句,执行下面的语句之后,logreader就可以通过Listener连接到正在工作的Primary Server了。请注意这一步是实现Publication database高可用性的关键步骤。
    EXEC sys.sp_redirect_publisher
@original_publisher = 'Denali1',
@publisher_db = 'tranPubDB',
@redirected_publisher = 'liweion'; -- 将之前创建的listener带入到这个参数

配置步骤就全部完成了,之后您可以任意添加订阅,当failover发生之后,事务复制也可以正常工作。

参考:https://www.cnblogs.com/stswordman/p/3252549.html

发布订阅的限制

https://learn.microsoft.com/zh-cn/sql/relational-databases/replication/publish/filter-published-data?view=sql-server-2016

主键列对于事务发布中的所有表都是必需的。 主键对于合并发布中的表并不是必需的,但如果存在主键列,则无法筛选该列。

复制类型:https://learn.microsoft.com/zh-cn/sql/relational-databases/replication/types-of-replication?view=sql-server-2016

问题

1、订阅创建时提示:本地订阅已存在,但本地订阅中不显示

参考:https://blog.csdn.net/selaginella/article/details/82563207

参考:https://learn.microsoft.com/zh-cn/sql/relational-databases/replication/delete-a-push-subscription?view=sql-server-ver16

在发布服务器上,对发布数据库执行 transact-SQL) sp_dropsubscription (。 指定 @publication 和 @subscriber。 为@article指定所有值。 (可选) 如果无法访问分发服务器,请为@ignore_distributor指定值 1 以删除订阅,而无需在分发服务器上删除相关对象。

在订阅服务器上的订阅服务器上,执行 sp_subscription_cleanup (Transact-SQL) 以删除订阅数据库中的复制元数据。

2、删除发布时出现问题提示:无法更新分发数据库订阅表。无法更改订阅状态。

-- 下面存储过程的参数是 数据库名
EXEC sp_removedbreplication 'TestSync'

参考:https://blog.csdn.net/huyu107/article/details/51098462?utm_source=blogxgwz6

3、作业任务日志中存在以下报错:由于发布服务器处于不活动状态,无法生成快照

参考:https://blog.csdn.net/seteor/article/details/7742612

【MSSQL】AlwaysOn集群增加发布订阅的更多相关文章

  1. 阿里云重磅发布RDS for SQL Server AlwaysOn集群版

    2018年双十一刚过,阿里云数据库发布RDS for SQL Server AlwaysOn集群版,这是业界除微软云SQL Database外,首家云计算公司基于SQL Server最新AlwaysO ...

  2. Kafka 1.0.0集群增加节点

    原有环境 主机名 IP 地址 安装路径 系统 sht-sgmhadoopdn-01 172.16.101.58 /opt/kafka_2.12-1.0.0 /opt/kafka(软连接) CentOS ...

  3. 数据库机器迁移对AlwaysON 集群影响测试

    1主3从(共享文件见证)     模拟事故 AlwaysON集群 结论 主域控服务器重启 共享文件夹见证失败,SQL集群无影响 无影响 修改共享文件夹见证路径 第一次测试修改后:整个集群突然重启,查询 ...

  4. Redis集群增加节点和删除节点

    本文主要是承接上一篇文章Redis集群的离线安装成功以后,我们如何进行给集群增加新的主从节点(集群扩容)以及如何从集群中删除节点(集群缩容),也就是集群的伸缩,集群伸缩的原理是控制虚拟槽和数据在节点之 ...

  5. Docker swarm集群增加节点和删除节点

    Docker swarm集群增加节点 docker swarm初始化 docker swarm init docker swarm 增加节点 在已经初始化的机器上执行:# docker swarm j ...

  6. ActiveMQ 事务、集群、持久订阅者、ActiveMQ监控

    JMS介绍 JMS是什么? JMS的全称Java Message Service,既Java消息服务. JMS是SUN提供的旨在统一各种MOM(Message-Oriented Middleware) ...

  7. SQL Server 2012 AlwaysOn集群配置指南

    1. AlwaysOn介绍 AlwaysOn是SQL Server 2012提供的全新综合.灵活.高效经济的高可用性和灾难恢复解决方案.它整合了镜像和群集的功能,基于OS 故障转移群集(Windows ...

  8. springCloud eureka服务治理集群增加安全认证

    做为SpringCloud Netflix服务套件中的一部分,springCloud eureka基于Netflix Eureka做了二次封装,默认提供WEB管理页面及服务治理. 为了确保在生产环境中 ...

  9. kubeadm 生成的token过期后,集群增加节点

    通过kubeadm初始化后,都会提供node加入的token: You should now deploy a pod network to the cluster. Run "kubect ...

  10. hadoop集群增加新节点

    上次hadoop集群一块数据盘报警, 提交工单后维修人员更换硬盘 服务器是dell r720的, 8盘位, 蛋疼的是这些硬盘都是做的单盘raid1,维修人员说必须关机导入硬盘才能正常使用 (服务器就这 ...

随机推荐

  1. nginx配置透明代理

    来自:https://blog.csdn.net/weixin_34072458/article/details/91677177 user nginx; worker_processes auto; ...

  2. vue 3 打印 print-js

    1.安装 npm install print-js --save 2.引用 import print from 'print-js' 3.编写打印函数 const enterDialog = asyn ...

  3. socket 客户端发送命令

    import socket import sys import os,time reload(sys) sys.setdefaultencoding('utf8') def send_cmd(comm ...

  4. centos 7 安装rocketmq 主从

    https://www.cnblogs.com/weianlai/p/14590533.html

  5. 【BOOK】解析库--pyquery

    CSS选择器 1.初始化 html=''' <div> <ul> <li class="item-0">first item</li> ...

  6. 波利亚(George Pólya)的一些链接

    忽然决定还是要写个博客. 第一篇献给波利亚. 他最有名的应该是<怎样解题>(How to solve it)这本书了.我认为只要读了前面几页就能提高普通人解决问题的能力,真的应该列为中学必 ...

  7. c语言实现单链表的倒叙

    bool upsidedown_list(LinkList L) { Lnode *head, *tmp, *oldhead; head = L; tmp = L->next; oldhead ...

  8. linux缓冲区溢出尝试

    #include <stdio.h>#include <string.h>char Lbuffer[] = "01234567890123456789======== ...

  9. LeetCode系列之 (JavaScript) => 53. 最大子数组和

    题目描述: leetcode 题目链接: 53. 最大子数组和 - 力扣(LeetCode) (leetcode-cn.com) 解题思路分析: 题干最终的输出是连续子数组的最大和:1. 贪心算法: ...

  10. Java 中的内存分配

    Java 中的内存分配 Java 程序运行时,需要在内存中分配空间.为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式. 一.栈:储存局部变量 局部变量 ...