SQLServer 2012中設置AlwaysOn解決網(wǎng)絡抖動導致的提交延遲問題
事件起因:近期有研發(fā)反應,某數(shù)據(jù)庫從08切換到12環(huán)境后,不定期出現(xiàn)寫操作提交延遲的問題;
事件分析:在排除了系統(tǒng)資源爭用等問題后,初步分析可能由于網(wǎng)絡抖動導致同步模式alwayson節(jié)點經(jīng)常出現(xiàn)會話超時等待提交的問題導致。
經(jīng)過排查,擴展事件里發(fā)現(xiàn)不定期出現(xiàn)35202錯誤,這是一條副本連接恢復的消息。
由于機房網(wǎng)絡環(huán)境復雜,數(shù)據(jù)庫服務器和應用服務器混用一個交換機,在業(yè)務高峰期時,因上聯(lián)端口流量打滿而導致連接失敗的情況屢有發(fā)生。
既然短期內(nèi)無法改造網(wǎng)絡環(huán)境,那就從SQLSERVER服務器自身出發(fā),只對數(shù)據(jù)同步的部分進行改造;
現(xiàn)有環(huán)境:
SQL AG:為兩節(jié)點的同步模式,兩個節(jié)點各有一塊網(wǎng)卡連接到交換機,沒有直連心跳線(WSFC也不再要求有獨立的心跳網(wǎng)絡)
改造方案:
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
/****** Object: Endpoint [Hadr_endpoint] Script Date: 2015/1/6 16:06:17 ******/
DROP ENDPOINT [Hadr_endpoint]
GO
/****** Object: Endpoint [Hadr_endpoint] Script Date: 2015/1/6 16:06:17 ******/
CREATE ENDPOINT [Hadr_endpoint]
STATE=STARTED
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = (10.0.0.11))
FOR DATA_MIRRORING (ROLE = ALL, AUTHENTICATION = WINDOWS NEGOTIATE
, ENCRYPTION = REQUIRED ALGORITHM AES)
GO
第四步的腳本如下,在主副本執(zhí)行即可
ALTER AVAILABILITY GROUP [Alwayson01]
MODIFY REPLICA ON N'Node_01' WITH (ENDPOINT_URL = N'TCP://10.0.0.11:5022')
ALTER AVAILABILITY GROUP [Alwayson01]
MODIFY REPLICA ON N'Node_02' WITH (ENDPOINT_URL = N'TCP://10.0.0.12:5022')
注意:刪除endpoint后兩副本即為未同步狀態(tài),但偵聽器和AG組中的數(shù)據(jù)庫不受影響,對應用而言,主副本的服務仍然正常;
相關文章
SQL建立數(shù)據(jù)庫及刪除數(shù)據(jù)庫命令
SQL建立數(shù)據(jù)庫及刪除數(shù)據(jù)庫命令,需要使用sqlserver的朋友可以參考下。2011-11-11SQL中字段自增(IDENTITY,序列Sequence)的兩種方法
本文主要介紹了SQL中字段自增,主要包括IDENTITY,序列Sequence的兩種方法,具有一定的參考價值,感興趣的可以了解一下2023-11-11Cont()與Where().Count()有時性能差別如此之大!
今天在修改后臺用戶公司管理列表時,發(fā)現(xiàn)列表加載超慢的bug!好幾十秒??!數(shù)據(jù)是相對其他的列表是稍微多點,不過也就4000多條,之前是好的,為啥這么慢呢?2010-03-03SQL Server內(nèi)存遭遇操作系統(tǒng)進程壓榨案例分析
最近一臺DB服務器偶爾出現(xiàn)CPU報警,我的郵件報警閾值設置的是15%,開始時沒當回事,以為是有什么統(tǒng)計類的查詢,后來越來越頻繁2014-03-03執(zhí)行一條sql語句update多條記錄實現(xiàn)思路
如果你想更新多行數(shù)據(jù),并且每行記錄的各字段值都是各不一樣,你會怎么辦呢?本文以一個示例向大家講解下如何實現(xiàn)如標題所示的情況,有此需求的朋友可以了解下2013-08-08SQL update 多表關聯(lián)更新的實現(xiàn)代碼
這篇文章主要介紹了SQL update 多表關聯(lián)更新的實現(xiàn)代碼,需要的朋友可以參考下2017-09-09SQL Server簡單模式下誤刪除堆表記錄恢復方法(繞過頁眉校驗)
這篇主旨是揭示堆表的刪除記錄找回的原理,我所考慮的方面并不適用于每個人的每種情況,望大家見諒2013-01-01