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