事件起因:近期有研發反應,某數據庫從08切換到12環境后,不定期出現寫操作提交延遲的問題;
事件分析:在排除了系統資源爭用等問題后,初步分析可能由于網絡抖動導致同步模式alwayson節點經常出現會話超時等待提交的問題導致。
經過排查,擴展事件里發現不定期出現35202錯誤,這是一條副本連接恢復的消息。
?
由于機房網絡環境復雜,數據庫服務器和應用服務器混用一個交換機,在業務高峰期時,因上聯端口流量打滿而導致連接失敗的情況屢有發生。
既然短期內無法改造網絡環境,那就從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

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
第四步的腳本如下,在主副本執行即可

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后兩副本即為未同步狀態,但偵聽器和AG組中的數據庫不受影響,對應用而言,主副本的服務仍然正常;
?
參考文章:
http://blogs.msdn.com/b/alwaysonpro/archive/2013/11/01/configuring-a-dedicated-network-for-replicating-changes-from-primary-to-secondary-replica.aspx
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
