Home > Database > Mysql Tutorial > SQLServer 2012之AlwaysOn 指定数据同步链路,消除网络抖动

SQLServer 2012之AlwaysOn 指定数据同步链路,消除网络抖动

WBOY
Release: 2016-06-07 15:34:23
Original
1421 people have browsed it

事件起因:近期有研发反应,某数据库从08切换到12环境后,不定期出现写操作提交延迟的问题; 事件分析:在排除了系统资源争用等问题后,初步分析可能由于网络抖动导致同步模式alwayson节点经常出现会话超时等待提交的问题导致。 经过排查,扩展事件里发现不

事件起因:近期有研发反应,某数据库从08切换到12环境后,不定期出现写操作提交延迟的问题;

事件分析:在排除了系统资源争用等问题后,初步分析可能由于网络抖动导致同步模式alwayson节点经常出现会话超时等待提交的问题导致。

SQLServer 2012之AlwaysOn  指定数据同步链路,消除网络抖动

经过排查,扩展事件里发现不定期出现35202错误,这是一条副本连接恢复的消息。

SQLServer 2012之AlwaysOn  指定数据同步链路,消除网络抖动

SQLServer 2012之AlwaysOn  指定数据同步链路,消除网络抖动

 

由于机房网络环境复杂,数据库服务器和应用服务器混用一个交换机,在业务高峰期时,因上联端口流量打满而导致连接失败的情况屡有发生。

既然短期内无法改造网络环境,那就从SQLSERVER服务器自身出发,只对数据同步的部分进行改造;

 

现有环境:

SQL AG:为两节点的同步模式,两个节点各有一块网卡连接到交换机,没有直连心跳线(WSFC也不再要求有独立的心跳网络)

改造方案:

1、两个节点各启用一块网卡,采用直连方式进行通信,同时配置私有地址

Server_A:10.0.0.11

Server_B:10.0.0.12

2、删除两个节点的endpoint,手动重新创建Listener_IP为直连IP的endpoint

3、更改AG中,每个副本的endpoint_url

4、等待数据重新同步;

 

其中第三步的脚本如下,要在两个节点上分别操作,注意Listener_IP为直连网卡的IP

SQLServer 2012之AlwaysOn  指定数据同步链路,消除网络抖动SQLServer 2012之AlwaysOn  指定数据同步链路,消除网络抖动

<span> 1</span> <span>/*</span><span>***** Object:  Endpoint [Hadr_endpoint]    Script Date: 2015/1/6 16:06:17 *****</span><span>*/</span>
<span> 2</span> <span>DROP</span> ENDPOINT <span>[</span><span>Hadr_endpoint</span><span>]</span>
<span> 3</span> <span>GO</span>
<span> 4</span> 
<span> 5</span> <span>/*</span><span>***** Object:  Endpoint [Hadr_endpoint]    Script Date: 2015/1/6 16:06:17 *****</span><span>*/</span>
<span> 6</span> <span>CREATE</span> ENDPOINT <span>[</span><span>Hadr_endpoint</span><span>]</span> 
<span> 7</span>          STATE<span>=</span><span>STARTED
</span><span> 8</span>          <span>AS</span> TCP (LISTENER_PORT <span>=</span> <span>5022</span>, LISTENER_IP <span>=</span> (<span>10.0</span>.<span>0.11</span><span>))
</span><span> 9</span>          <span>FOR</span> DATA_MIRRORING (ROLE <span>=</span> <span>ALL</span>, AUTHENTICATION <span>=</span><span> WINDOWS NEGOTIATE
</span><span>10</span> , ENCRYPTION <span>=</span><span> REQUIRED ALGORITHM AES)
</span><span>11</span> <span>GO</span>
Copy after login
View Code

第四步的脚本如下,在主副本执行即可

SQLServer 2012之AlwaysOn  指定数据同步链路,消除网络抖动SQLServer 2012之AlwaysOn  指定数据同步链路,消除网络抖动

<span>1</span> <span>ALTER</span> AVAILABILITY <span>GROUP</span> <span>[</span><span>Alwayson01</span><span>]</span>
<span>2</span> MODIFY REPLICA <span>ON</span> N<span>'</span><span>Node_01</span><span>'</span> <span>WITH</span> (ENDPOINT_URL <span>=</span> N<span>'</span><span>TCP://10.0.0.11:5022</span><span>'</span><span>)
</span><span>3</span> 
<span>4</span> <span>ALTER</span> AVAILABILITY <span>GROUP</span> <span>[</span><span>Alwayson01</span><span>]</span>
<span>5</span> MODIFY REPLICA <span>ON</span> N<span>'</span><span>Node_02</span><span>'</span> <span>WITH</span> (ENDPOINT_URL <span>=</span> N<span>'</span><span>TCP://10.0.0.12:5022</span><span>'</span>)
Copy after login
View Code

 

注意:删除endpoint后两副本即为未同步状态,但侦听器和AG组中的数据库不受影响,对应用而言,主副本的服务仍然正常;

 

参考文章:

http://blogs.msdn.com/b/alwaysonpro/archive/2013/11/01/configuring-a-dedicated-network-for-replicating-changes-from-primary-to-secondary-replica.aspx

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template