事件起因:近期有研發(fā)反應(yīng),某數(shù)據(jù)庫從08切換到12環(huán)境后,不定期出現(xiàn)寫操作提交延遲的問題;
事件分析:在排除了系統(tǒng)資源爭用等問題后,初步分析可能由于網(wǎng)絡(luò)抖動導(dǎo)致同步模式alwayson節(jié)點經(jīng)常出現(xiàn)會話超時等待提交的問題導(dǎo)致。
經(jīng)過排查,擴展事件里發(fā)現(xiàn)不定期出現(xiàn)35202錯誤,這是一條副本連接恢復(fù)的消息。
?
由于機房網(wǎng)絡(luò)環(huán)境復(fù)雜,數(shù)據(jù)庫服務(wù)器和應(yīng)用服務(wù)器混用一個交換機,在業(yè)務(wù)高峰期時,因上聯(lián)端口流量打滿而導(dǎo)致連接失敗的情況屢有發(fā)生。
既然短期內(nèi)無法改造網(wǎng)絡(luò)環(huán)境,那就從SQLSERVER服務(wù)器自身出發(fā),只對數(shù)據(jù)同步的部分進行改造;
?
現(xiàn)有環(huán)境:
SQL AG:為兩節(jié)點的同步模式,兩個節(jié)點各有一塊網(wǎng)卡連接到交換機,沒有直連心跳線(WSFC也不再要求有獨立的心跳網(wǎng)絡(luò))
改造方案:
1、兩個節(jié)點各啟用一塊網(wǎng)卡,采用直連方式進行通信,同時配置私有地址
Server_A:10.0.0.11
Server_B:10.0.0.12
2、刪除兩個節(jié)點的endpoint,手動重新創(chuàng)建Listener_IP為直連IP的endpoint
3、更改AG中,每個副本的endpoint_url
4、等待數(shù)據(jù)重新同步;
?
其中第三步的腳本如下,要在兩個節(jié)點上分別操作,注意Listener_IP為直連網(wǎng)卡的IP
1
/*
***** Object: Endpoint [Hadr_endpoint] Script Date: 2015/1/6 16:06:17 *****
*/
2
DROP
ENDPOINT
[
Hadr_endpoint
]
3
GO
4
5
/*
***** Object: Endpoint [Hadr_endpoint] Script Date: 2015/1/6 16:06:17 *****
*/
6
CREATE
ENDPOINT
[
Hadr_endpoint
]
7
STATE
=
STARTED
8
AS
TCP (LISTENER_PORT
=
5022
, LISTENER_IP
=
(
10.0
.
0.11
))
9
FOR
DATA_MIRRORING (ROLE
=
ALL
, AUTHENTICATION
=
WINDOWS NEGOTIATE
10
, ENCRYPTION
=
REQUIRED ALGORITHM AES)
11
GO
第四步的腳本如下,在主副本執(zhí)行即可
1
ALTER
AVAILABILITY
GROUP
[
Alwayson01
]
2
MODIFY REPLICA
ON
N
'
Node_01
'
WITH
(ENDPOINT_URL
=
N
'
TCP://10.0.0.11:5022
'
)
3
4
ALTER
AVAILABILITY
GROUP
[
Alwayson01
]
5
MODIFY REPLICA
ON
N
'
Node_02
'
WITH
(ENDPOINT_URL
=
N
'
TCP://10.0.0.12:5022
'
)
?
注意:刪除endpoint后兩副本即為未同步狀態(tài),但偵聽器和AG組中的數(shù)據(jù)庫不受影響,對應(yīng)用而言,主副本的服務(wù)仍然正常;
?
參考文章:
http://blogs.msdn.com/b/alwaysonpro/archive/2013/11/01/configuring-a-dedicated-network-for-replicating-changes-from-primary-to-secondary-replica.aspx
SQLServer 2012之AlwaysOn —— 指定數(shù)據(jù)同步鏈路,消除網(wǎng)絡(luò)抖動導(dǎo)致的提交延遲問題
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

