sqlserver distribution分发alwayson搭建

SqlServer的复制订阅组建中,分发服务器是一个关键的隐患点,现在将分发distribution变成alwayson高可用模式。

发布:TEST125

distribution1 : TEST177

distribution2 : TEST178

订阅:TEST129

TEST177/178 建立分发,过程略。

添加发布服务器,过程略。

TEST125配置分发TEST177并建立发布test  -- (过程)--TEST177 job TEST125-test-1 --logreader

TEST129推送订阅 --(过程)--TEST177 job TEST125-test-Repl_test-TEST129-3

暂停agent - job

TEST177 distribution属性完整并完备,copybak至TEST178,restore with nocovery 。

由于无法通过界面建议distribution的alwayson,所以只能依赖于脚本。

中间建立ENDPOINT和开启EVENT SESSION过程略。

CREATE AVAILABILITY GROUP [dis_awo]
WITH (AUTOMATED_BACKUP_PREFERENCE = SECONDARY,
DB_FAILOVER = OFF,
DTC_SUPPORT = NONE)
FOR DATABASE [distribution]
REPLICA ON N‘TEST177‘ WITH (ENDPOINT_URL = N‘TCP://TEST177.Test.com:5022‘, FAILOVER_MODE = AUTOMATIC, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, BACKUP_PRIORITY = 50, SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL)),
    N‘TEST178‘ WITH (ENDPOINT_URL = N‘TCP://TEST178.Test.com:5022‘, FAILOVER_MODE = AUTOMATIC, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, BACKUP_PRIORITY = 50, SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL));

TEST178上联结可用组,监听器: dis_ip ,distribution alwayson完成。

TEST177上agentjob TEST125-test-1 生成脚本,在TEST178上执行。

修改点:

@command=N‘-Publisher [TEST125] -PublisherDB [test] -Distributor [dis_ip] -DistributorSecurityMode 1  -Continuous‘, 

TEST177上agentjob TEST125-test-Repl_test-TEST129-3  生成脚本,在TEST178上执行。

修改点:

@server=N‘TEST178‘, 
@command=N‘-Subscriber [TEST129] -SubscriberDB [test] -Publisher [TEST125] -Distributor [dis_ip] -DistributorSecurityMode 1 -Publication [Repl_test] -PublisherDB [test]    -Continuous‘, 

TEST177/178建立主辅启动job。

declare @role_desc varchar(50)
select @role_desc=a.role_desc from sys.dm_hadr_availability_replica_states a
join sys.dm_hadr_availability_replica_cluster_states b on a.replica_id=b.replica_id
where b.replica_server_name=@@SERVERNAME
if @role_desc=‘PRIMARY‘
begin
exec sp_start_job @job_name=‘TEST125-test-1‘
exec sp_start_job @job_name=‘TEST125-test-Repl_test-TEST129-3‘
end
else
begin
exec sp_stop_job @job_name=‘TEST125-test-1‘
exec sp_stop_job @job_name=‘TEST125-test-Repl_test-TEST129-3‘
end

过程完成。

此方法,对自己没有信心就不要使用,之后复制监控器界面将不再可用,只能通过脚本进行监控复制订阅。

PS:

在整个搭建测试的过程中,本着哪里不通改哪里,最后测试成功,以上是简化的方法。

过程中其他用到的脚本:

exec sp_helpdistpublisher N‘TEST125‘

sp_changedistpublisher @publisher = ‘TEST125‘
     ,  @property =  ‘active‘
    ,  @value = ‘true‘ 

select datasource, srvid from master..sysservers where upper(srvname) = upper(N‘TEST125‘)

select datasource, srvid from master..sysservers where upper(srvname) = upper(N‘TEST129‘)

select * from MSdistribution_agents
时间: 2024-10-18 18:15:18

sqlserver distribution分发alwayson搭建的相关文章

SQL 2014 AlwaysOn 搭建

原文:SQL 2014 AlwaysOn 搭建 AlwaysOn底层依然采用Windows 故障转移群集的机制进行监测和转移,因此也需要先建立Windows Cluster,只不过可用性组中的数据库不一定非要再存放在共享存储上了.可以是存储在本地磁盘上. 下面,先看一下AlwaysOn的关键特性: 1. 同故障转移群集一样,也需要一个虚拟网络名称用于客户端的统一连接. 2.一个主服务器可以最多对应四个辅助服务器,总数达到五个,而且辅助服务器支持只读功能. 3.辅助服务器可以独立执行备份和DBCC

SQLServer 2012之AlwaysOn —— 指定数据同步链路,消除网络抖动导致的提交延迟问题

原文:SQLServer 2012之AlwaysOn -- 指定数据同步链路,消除网络抖动导致的提交延迟问题 事件起因:近期有研发反应,某数据库从08切换到12环境后,不定期出现写操作提交延迟的问题: 事件分析:在排除了系统资源争用等问题后,初步分析可能由于网络抖动导致同步模式alwayson节点经常出现会话超时等待提交的问题导致. 经过排查,扩展事件里发现不定期出现35202错误,这是一条副本连接恢复的消息. 由于机房网络环境复杂,数据库服务器和应用服务器混用一个交换机,在业务高峰期时,因上联

SQLSERVER 2012之AlwaysOn -- 一次硬件升级引发的问题

原文:SQLSERVER 2012之AlwaysOn -- 一次硬件升级引发的问题 这是上周遇到的一个案例:对已有的硬件进行升级而引发的问题,期间还触发了一个比较严重的BUG,可谓多灾多难:不过值得庆幸的是,在一连串连锁问题出现的时候,并没有出现人工操作失误(这往往是在处理故障中风险最高.影响最大的问题)而扩大故障影响范围: ==========================华丽丽的分割线========================== 先说一下环境: 我做的是跨机房3节点alwayson

SQLSERVER 2012之AlwaysOn -- 同步模式下的网卡性能优化

本文是基于上一篇<SQLServer 2012之AlwaysOn -- 指定数据同步链路,消除网络抖动导致的提交延迟问题>的问题继续进行优化:具体背景请参照上文:     前后折腾了一个多月,最近终于把这块难啃的骨头搞定了.问题只是出在网卡的高级功能上:     解决方案:关闭网卡的高级功能Jumbo Mtu和Large Send Offload V2     问题分析:根据Broadcom Ethernet 网络适配器的解释 Jumbo Mtu Jumbo Mtu 属性允许网络适配器发送和接

SqlServer Alwayson 搭建报错:19405

文章选自:https://www.cnblogs.com/wangguanguo/p/9296869.html的内容 一.创建可用性组 使用SSMS的创建可用性组向导,添加了一个主副本node1,一个辅助副本node3,最后一步完成的时候报错: 1 无法对可用性组"XXXXX"创建.联接或添加副本,因为节点"node3"是副本"node1"和"node3"的可能所有者.<br>如果一个副本是故障转移群集实例,请从其

安装SQLserver 2014(For AlwaysOn)

SQLserver 2014 AlwaysOn在SQLserver 2012的基础之上,进行了很大程度的增加,如可以通过"添加 Azure 副本向导"简化了用于 AlwaysOn 可用性组的混合解决方案创建:辅助副本的最大数目从 4 增加到 8: 断开与主副本的连接时,或者在缺少群集仲裁期间,可读辅助副本现在保持可用于读取工作负荷: 故障转移群集实例 (FCI) 现在可使用群集共享卷 (CSV) 作为群集共享磁盘: 提供了一个新的系统函数 sys.fn_hadr_is_primary_

ssh批量分发服务搭建

SSH批量分发服务 1. 系统环境 [[email protected] ~]# uname -a Linux A 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 2203:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [[email protected] ~]# ifconfig eth0 | grep 'inet addr' |awk'{print $2}'|awk -F':' '{print $2}' 10.0.0.3

SQL Server Alwayson搭建一:规划

规划:3台虚拟机:1台作为域控(DC),另外2台安装SQL Server 序号 名称 TCP/IPv4 备注 1 sqldc 192.168.0.100255.255.255.0192.168.0.254DNS:127.0.0.1 DC 2 sql01 192.168.0.101255.255.255.0192.168.0.254DNS:192.168.0.100 Node 1 3 sql02 192.168.0.102255.255.255.0192.168.0.254DNS:192.168.

SQL Server Alwayson搭建三:SQL服务器配置

安装.NET Framework 3.5/4.0 IP配置sql01sql02 安装SQL Server 2014,选择混合认证模式,设置sa密码 服务器加域,成功后选择重启服务器 使用dcadmin登录服务器,修改sqlserver服务帐号 关闭服务器防火墙至此,SQL服务器的基本配置已完成 原文地址:http://blog.51cto.com/aimax/2121555