程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> SQLServer 2012中設置AlwaysOn解決網絡抖動導致的提交延遲問題,2012alwayson

SQLServer 2012中設置AlwaysOn解決網絡抖動導致的提交延遲問題,2012alwayson

編輯:更多數據庫知識

SQLServer 2012中設置AlwaysOn解決網絡抖動導致的提交延遲問題,2012alwayson


事件起因:近期有研發反應,某數據庫從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
復制代碼 代碼如下:
/****** 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

第四步的腳本如下,在主副本執行即可
復制代碼 代碼如下:
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後兩副本即為未同步狀態,但偵聽器和AG組中的數據庫不受影響,對應用而言,主副本的服務仍然正常;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved