Alwayson常用脚本

1、修改实例下所有节点的数据同步模式,在master数据库下运行

 

--查找所有异步提交的辅助节点,修改为同步提交模式
-- SYNCHRONOUS_COMMIT 同步提交模式   
-- ASYNCHRONOUS_COMMIT 异步提交模式
select 'ALTER AVAILABILITY GROUP ['+a.name+']
MODIFY REPLICA ON N'''+c.replica_server_name+''' WITH (AVAILABILITY_MODE = SYNCHRONOUS_COMMIT)
GO'
from sys.availability_groups a --join sys.dm_hadr_instance_node_map b on a.resource_id=b.ag_resource_idjoin sys.availability_replicas c on a.group_id=c.group_id
where availability_mode = 0    --0异步提交 ,1 同步提交模式

 

2、执行集群转移脚本,在目标节点执行

--执行集群转移的脚本select ' ALTER AVAILABILITY GROUP ['+a.name+'] FAILOVER;'from sys.availability_groups a --执行集群强制转移(会丢数据)
select ' ALTER AVAILABILITY GROUP ['+a.name+'] FORCE_FAILOVER_ALLOW_DATA_LOSS;'from sys.availability_groups a 

 

3、查看队列情况

SELECT  ar.replica_server_name AS [副本名称] ,
ar.availability_mode_desc as [同步模式],
DB_NAME(dbr.database_id) AS [数据库名称] ,dbr.database_state_desc AS [数据库状态],dbr.synchronization_state_desc AS [同步状态],dbr.synchronization_health_desc AS [同步健康状态],ISNULL(CASE dbr.redo_rateWHEN 0 THEN -1ELSE CAST(dbr.redo_queue_size AS FLOAT) / dbr.redo_rateEND, -1) AS [Redo延迟(秒)] ,ISNULL(CASE dbr.log_send_rateWHEN 0 THEN -1ELSE CAST(dbr.log_send_queue_size AS FLOAT)/ dbr.log_send_rateEND, -1) AS [Log传送延迟(秒)] ,dbr.redo_queue_size AS [Redo等待队列(KB)] ,dbr.redo_rate AS [Redo速率(KB/S)] ,dbr.log_send_queue_size AS [Log传送等待队列(KB)] ,dbr.log_send_rate AS [Log传送速率(KB\S)] FROM [master].sys.availability_replicas AS ARINNER JOIN [master].sys.dm_hadr_database_replica_states AS dbr ON ar.replica_id = dbr.replica_id WHERE dbr.redo_queue_size IS NOT NULL

4、修改一台服务器可用性组中的某个节点为同步提交模式或者异步提交模式

-- SYNCHRONOUS_COMMIT 同步提交模式   
-- ASYNCHRONOUS_COMMIT 异步提交模式
USE [master]
GO
ALTER AVAILABILITY GROUP [TreasureWDDB140226]
MODIFY REPLICA ON N'WINDBGYS2091' WITH (AVAILABILITY_MODE = SYNCHRONOUS_COMMIT)
GO

5、从系统中查看和调整WSFC投票权(注意是区分大小写的) 

 查看集群WSFC投票权

cluster node /prop |find "NodeWeight"

修改某个WSFC投票权(1拥有投票权 0 没有投票权)

cluster node XXXXXX /prop NodeWeight = 0

这个设置在win2008r2的cluster services 服务里面是没有的,需要单独打补丁才有这个设置选项具体参考

https://support.microsoft.com/zh-cn/kb/2494036

 6、加入节点遇到 “计算机已经加入集群”

有时候一些wsfc节点在加入集群的时候遇到错误,请确保该机器不再集群中,如果这机器以前加入过某个集群

后来退出来的,可能有些注册表信息项目没有删除干净容易遇到这样的问题。(我还遇到过一个新装的机器报这个错误)

解决方法:

在该机器命令行运行 cluster node /force 

7、alwayon加入新的机器和db

--在源机器上创建端点
xxxx是机器名select 'ALTER AVAILABILITY GROUP ['+a.name+'] ADD REPLICA ON N''XXXX'' WITH (ENDPOINT_URL = N''TCP://XXXX.gycomm.cn:5022'', FAILOVER_MODE = MANUAL, AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT, BACKUP_PRIORITY = 50, SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL));'from sys.availability_groups a --如果目标机器第一次加入到集群中需要创建端点和授予端点用户权限CREATE ENDPOINT [Hadr_endpoint] 
AS TCP (LISTENER_PORT = 5022)
FOR DATA_MIRRORING (ROLE = ALL, ENCRYPTION = REQUIRED ALGORITHM AES)
GO
IF (SELECT state FROM sys.endpoints WHERE name = N'Hadr_endpoint') <> 0
BEGIN
ALTER ENDPOINT [Hadr_endpoint] STATE = STARTED
END
GO
use [master]
GO
GRANT CONNECT ON ENDPOINT::[Hadr_endpoint] TO [GYAWO\sqlUser]
GO
IF EXISTS(SELECT * FROM sys.server_event_sessions WHERE name='AlwaysOn_health')
BEGIN
ALTER EVENT SESSION [AlwaysOn_health] ON SERVER WITH (STARTUP_STATE=ON);
END
IF NOT EXISTS(SELECT * FROM sys.dm_xe_sessions WHERE name='AlwaysOn_health')
BEGIN
ALTER EVENT SESSION [AlwaysOn_health] ON SERVER STATE=START;
ENDGO--目标机器加入到组select 'ALTER AVAILABILITY GROUP ['+a.name+'] JOIN'from sys.availability_groups a --目标机器db加入到组select 'ALTER database ['+b.database_name+'] set hadr AVAILABILITY GROUP =' + a.namefrom sys.availability_groups a inner join sys.availability_databases_cluster b on a.group_id = b.group_id

 

转载于:https://www.cnblogs.com/luck001221/p/4261435.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432033.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Package ‘*****‘ has no installation candidate

如果在apt源中未找到软件&#xff0c;去ubuntu的软件包搜索页面中去搜索该软件 Ubuntu – Ubuntu Packages Search https://packages.ubuntu.com/ 前面红字找到对应ubuntu版本的软件版本名称&#xff0c;后面中括号为仓库名称&#xff0c;然后写入到/etc/apt/sources.list中 …

Oracle 客户端连接服务器[转]

很多朋友在开发项目中并不是每个人用一个数据库&#xff0c;而是有单独的一台主机作为开发的数据库服务器&#xff0c;这样&#xff0c;就需要我们的开发人员去连接它。 首先是进入oracle的 Net Mananger&#xff1b; 接下来就是进行简单的设置了。。 &am…

p3d gauge 尺寸问题

1. 在panel.cfg中&#xff0c;每个window可以有多个gauge&#xff0c;window是gauge的容器 2. 在panel.cfg中&#xff0c;background_color为window背景色&#xff0c;如果设置为0&#xff0c;0&#xff0c;0&#xff0c;未被gauge覆盖的 部分会透明 3. 在panel.cfg中&#…

BZOJ2199 [Usaco2011 Jan]奶牛议会

首先建立一个2-SAT的裸模型&#xff0c;然后发现。。。tarjan没法判断?的情况 于是暴力对每一个议案check一下&#xff0c;直接dfs即可 1 /**************************************************************2 Problem: 21993 User: rausen4 Language: C5 Resu…

ubuntu 远程桌面

1. apt-get install xrdp 2. apt-get install dconf-editor 3. 启动 dconf-editor&#xff0c;org->gnome->desktop->remote-access&#xff0c;取消 “requlre-encryption”的勾选 4. 打开系统左上角的"Search your computer"&#xff0c;然后找到“Des…

记录:Android中StackOverflow的问题

最近新作的项目上线&#xff0c;出现了一个让人抓狂的问题。在此记录一下&#xff01; 现在的项目中&#xff0c;制作了一个界面非常复杂。整个结构是最外层一个Layout&#xff0c;封装了Menu键吊起的菜单&#xff0c;整个内容使用一个FrameLayout装载&#xff0c;这个layout中…

OpenDrive记录

1. junction里面只有一半的链接关系&#xff0c;也就是只有road进入junction的链接关系&#xff0c;没有junction出 去的链接关系。 拿路径搜索方法举例&#xff0c; 1&#xff09; 如果当前road的前方是junction&#xff0c;即当前road的predecessor或者successor是juncti…

JavaWeb高性能开发(一)

今日要闻: 淘宝删差评产业链 在你给出“差评”“中评”后不久&#xff0c;有人会偷偷登录你的淘宝账户&#xff0c;把你之前给过的评价删除或改成“好评”。而这种人就是“职业修改差评师” 案发前&#xff0c;李骏杰在杭州市滨江区一家科技公司上班。5 人当中&#xff0c;他主…

凸多边形的面积问题

Q&#xff1a;给定顶点坐标&#xff0c;求凸多边形的面积&#xff0c;保留两位小数。 样例输入&#xff1a; 4 3 3 3 0 1 2 1 0 样例输出 5.00 S&#xff1a; #include<stdio.h> #include<math.h> #include<stdlib.h> double dist(struct point A,struct poi…

从此明白了卷积神经网络(CNN)

卷积神经网络是一种曾经让我无论如何也无法弄明白的东西&#xff0c;主要是名字就太“高级”了&#xff0c;网上的各种各样的文章来介绍“什么是卷积”尤为让人受不了。听了吴恩达的网课之后&#xff0c;豁然开朗&#xff0c;终于搞明白了这个东西是什么和为什么。我这里大概会…

Linux 输入子系统原理理解(原创)

linux 输入子系统原理理解&#xff08;原创&#xff09; 以前学了单独的按键设备驱动以及鼠标驱动&#xff0c;实际上&#xff0c;在linux中实现这些设备驱动&#xff0c;有一种更为推荐的方法&#xff0c;就是input输入子系统。平常我们的按键&#xff0c;触摸屏&#xff0…

Logistic Regression:最基础的神经网络

一、什么是logictic regression 下面的图是Andrew Ng提供的一个用logistic regression来识别主子的图片的算法结构示意图&#xff1a; 「左边」的「x0到x12287「是输入&#xff08;input&#xff09;&#xff0c;我们称之为」特征&#xff08;feather&#xff09;」&#xff0…

Win7和Ubuntu14.10双系统

一、Wubi 本来是拿wubi安装的。步骤简单&#xff0c;装卸方便。就是失败了。。。 下载好镜像后解压一份&#xff0c;将wubi.exe复制出一份放在和镜像同目录下&#xff08;目录要全英&#xff09;。断网&#xff0c;运行wubi.exe按照提示安装。这里这篇教程挺好&#xff0c;之后…

LateX 笔记

y \frac{a}{b} y A_aA_{bb} y a\times{b} y \arctan{(x)} \pi y x^2

OpenDrive ARC绘制秘籍

加和减代表曲率的正负

mysql中char与varchar的区别分析

原文网址&#xff1a;http://www.jb51.net/article/23575.htm mysql中char与varchar的区别分析 作者&#xff1a; 字体&#xff1a;[增加 减小] 类型&#xff1a;转载在mysql教程中char与varchar的区别呢&#xff0c;都是用来存储字符串的&#xff0c;只是他们的保存方式不一样…

3W+字的设计模式手册

设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结&#xff0c;其中最出名的当属 Gang of Four (GoF) 的分类了&#xff0c;他们将设计模式分类为 23 种经典的模式&#xff0c;根据用途我们又可以分为三大类&#xff0c;分别为创建型模式、结构型模式和行为型模式。…

datagridview 当前上下文中不存在bind_全面解析JavaScript中this指向问题

this指向参考文章&#xff1a;* thisJavaScript中this指向分为以下几种情况&#xff1a;普通函数或作为对象属性事件绑定构造函数箭头函数call/apply/bind指定下面我们来进行一一介绍普通函数或作为对象属性this取决于方法执行前面是否有“点”&#xff0c;有“点”的话&#x…