SqlServer跨集群升级

1.新Server的IP要和旧的在同一网段。

2.安装SQL SERVER(注意:排序要和以前的一样,更改TempDB位置)

3.开启防火墙,并打开1433和5022端口

4.开启DTC服务及防火墙对应的Rule,用于Linked Server等

5.DB配置

6.创建新集群。

一台新server

--切换集群

ALTER SERVER CONFIGURATION SET HADR CLUSTER CONTEXT='ss.COM'

--查看集群

select cluster_name from sys.dm_hadr_cluster

7.新server加入到旧AG同步数据。

8.同步完后,删除监听,下线旧AG。

9.切换回新集群,重建AG.监听。

--切换集群

ALTER SERVER CONFIGURATION SET HADR CLUSTER CONTEXT=local

--查看集群

select cluster_name from sys.dm_hadr_cluster

--恢复DB脚本

RESTORE DATABASE rgsdyn with recovery

重建Link Server:(导出脚本,密码手动填)

重建Login:(需要先有DB)

https://blog.csdn.net/burgess_liu/article/details/11904921

需要注意的是重建的Login脚本中需要删除NT、##MS开头的系统Login,同时如果安装sql server 2016时如果指定了SA,需要修改下SA的密码。

重建operator:(导出脚本)

重建Agent JOB: (需要先有DB和Operator)

新Server导入agent job时,所有JOB是否打开都是参照之前server的设定,可以通过将脚本中@enabled = 1 替换为@enabled = 0的方式将所有脚本变为disabled。需要额外注意的是,脚本中有两类@enabled,一个控制job是否运行,一个控制job schedule是否打开,全部替换为@enabled = 0后,需要在以下界面把shedule打开,否则即使将job enable,也不会自动运行。

重建邮件配置:

重建维护计划:

Script:

--切换集群

ALTER SERVER CONFIGURATION SET HADR CLUSTER CONTEXT='SQL12AG.QUANTACN.COM'

--查看集群

select cluster_name from sys.dm_hadr_cluster

--恢复DB脚本

RESTORE DATABASE rgsdyn with recovery

--查看DB排序

select cluster_name from sys.dm_hadr_cluster

--查看同步状态

SELECT

g.name as ag_name,

r.replica_server_name as replica_name,

rs.is_local,

rs.role_desc AS [role],

rs.connected_state_desc as connection_state,

rs.synchronization_health_desc as sync_state

FROM sys.dm_hadr_availability_replica_states as rs

JOIN sys.availability_groups as g

on g.group_id = rs.group_id

JOIN sys.availability_replicas as r

on r.replica_id = rs.replica_id

SqlServer跨集群升级的更多相关文章

  1. Hive跨集群迁移

    Hive跨集群迁移数据工作是会出现的事情, 其中涉及到数据迁移, metastore迁移, hive版本升级等. 1. 迁移hdfs数据至新集群hadoop distcp -skipcrccheck ...

  2. k8s集群升级

    集群升级 由于课程中的集群版本是 v1.10.0,这个版本相对有点旧了,最新版本都已经 v1.14.x 了,为了尽量保证课程内容的更新度,所以我们需要将集群版本更新.我们的集群是使用的 kubeadm ...

  3. elasticsearch跨集群数据迁移

    写这篇文章,主要是目前公司要把ES从2.4.1升级到最新版本7.8,不过现在是7.9了,官方的文档:https://www.elastic.co/guide/en/elasticsearch/refe ...

  4. Kubernetes实践技巧:集群升级k8s版本

    更新证书 使用 kubeadm 安装 kubernetes 集群非常方便,但是也有一个比较烦人的问题就是默认的证书有效期只有一年时间,所以需要考虑证书升级的问题,本文的演示集群版本为 v1.16.2 ...

  5. 实现Kubernetes跨集群服务应用的高可用

    在Kubernetes 1.3版本,我们希望降低跨集群跨地区服务部署相关的管理和运营难度.本文介绍如何实现此目标. 注意:虽然本文示例使用谷歌容器引擎(GKE)来提供Kubernetes集群,您可以在 ...

  6. Elasticsearch跨集群搜索(Cross Cluster Search)

    1.简介 Elasticsearch在5.3版本中引入了Cross Cluster Search(CCS 跨集群搜索)功能,用来替换掉要被废弃的Tribe Node.类似Tribe Node,Cros ...

  7. Hadoop 跨集群访问

    [原文地址] 跨集群访问 发表于 2015-06-01   |   简单总结下跨集群访问的多种方式. 跨集群访问HDFS 直接给出HDFS URI 我们平常执行hadoop fs -ls /之类的操作 ...

  8. ES cross cluster search跨集群查询

    ES 5.3以后出的新功能.测试demo如下: 下载ES 5.5版本,然后分别本机创建2个实例,配置如下: cluster.name: xx1 network.host: 127.0.0.1 http ...

  9. kubernetes集群升级的正确姿势

    kubernetes社区非常活跃,每季度都会发布一个release.但是线上集群业务可用性要求较高,场景复杂,任何微小的变更都需要非常小心,此时跟随社区版本进行升级略显吃力.但是为了能够使用到最新的一 ...

随机推荐

  1. PHP错误报告级别

    error_reporting = E_ALL & ~E_NOTICE ; 错误报告级别是位字段的叠加,推荐使用 E_ALL | E_STRICT ; 1 E_ERROR 致命的运行时错误 ; ...

  2. jdk 8 的内存参数修改

    jdk内存实际是jvm内存,jvm有一个运行时数据区,其实就是对这一部分的大小分配.运行时数据区通常包括这几个部分:程序计数器(Program Counter Register).Java栈(VM S ...

  3. npm设置和查看仓库源

    转载请注明出处:https://www.cnblogs.com/wenjunwei/p/10078460.html 在使用npm命令时,如果直接从国外的仓库下载依赖,下载速度很慢,甚至会下载不下来,我 ...

  4. python模块之pickle、shelve、json

    一 什么是序列化 序列化指的是将内存中的数据结构转化为一种中间格式,并存储到硬盘上. (反序列化:将硬盘上存储的中间格式数据再还原为内存中的数据结构) 二 为什么要序列化 持久保持状态 需知一个软件/ ...

  5. 南大算法设计与分析课程OJ答案代码(4)--变位词、三数之和

    问题 A: 变位词 时间限制: 2 Sec  内存限制: 10 MB提交: 322  解决: 59提交 状态 算法问答 题目描述 请大家在做oj题之前,仔细阅读关于抄袭的说明http://www.bi ...

  6. webapi 控制json的字段(key)显示顺序

    使用两个c#的特性: 加在类上的:[DataContract] 加在字段上的:[DataMember(Name = "ResultCode",EmitDefaultValue = ...

  7. Web下的HTTPS应用

    ---------------------------------------------------------------------------------------------------- ...

  8. mybatis_05动态SQL_if和where

    If标签:作为判断入参来使用的,如果符合条件,则把if标签体内的SQL拼接上. 注意:用if进行判断是否为空时,不仅要判断null,也要判断空字符串‘’: Where标签:会去掉条件中的第一个and符 ...

  9. Aurelia 创建模板

    今天介绍一下Aurelia创建模板的三种方式. 模板既可以作为页面也可以作为组件. 1. View+View Model Aurelia的模板通常由一个html文件和一个同名的ts或js文件组成,文件 ...

  10. Ext.isEmpty()的使用

    说明如下: isEmpty( Object value, Boolean allowEmptyString ) : Boolean 如果传递的值为空,则返回 true,否则返回 false.该值被认为 ...