长宁做网站公司,移动网站建设平台,腾讯云 wordpress,彩票网站搭建多钱1、修改实例下所有节点的数据同步模式#xff0c;在master数据库下运行 --查找所有异步提交的辅助节点#xff0c;修改为同步提交模式
-- SYNCHRONOUS_COMMIT 同步提交模式
-- ASYNCHRONOUS_COMMIT 异步提交模式
select ALTER AVAILABILITY GROUP [a.name]
MODIFY REPLICA…1、修改实例下所有节点的数据同步模式在master数据库下运行 --查找所有异步提交的辅助节点修改为同步提交模式
-- SYNCHRONOUS_COMMIT 同步提交模式
-- ASYNCHRONOUS_COMMIT 异步提交模式
select ALTER AVAILABILITY GROUP [a.name]
MODIFY REPLICA ON Nc.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_idb.ag_resource_idjoin sys.availability_replicas c on a.group_idc.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 NWINDBGYS2091 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 NXXXX WITH (ENDPOINT_URL NTCP://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 NHadr_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 nameAlwaysOn_health)
BEGIN
ALTER EVENT SESSION [AlwaysOn_health] ON SERVER WITH (STARTUP_STATEON);
END
IF NOT EXISTS(SELECT * FROM sys.dm_xe_sessions WHERE nameAlwaysOn_health)
BEGIN
ALTER EVENT SESSION [AlwaysOn_health] ON SERVER STATESTART;
ENDGO--目标机器加入到组select ALTER AVAILABILITY GROUP [a.name] JOINfrom 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