程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 數據庫鏡像調整自動故障轉移時間

數據庫鏡像調整自動故障轉移時間

編輯:關於SqlServer

問題

數據庫鏡像變成SQL Server 2005中很受歡迎的一個功能。通過下面幾個簡單步驟,使用SQL Server 管理套件或者運行一些T-SQL命令,你可以很容易在你的一個或多個數據庫中創建數據庫鏡像。數據庫鏡像的某一個配置選項是高可用性模式。有了這個選項,主體服務器、鏡像服務器、見證服務器三個服務器被放在適當的位置。這是允許自動故障解決故障轉移功能的唯一選項。我注意到的一點是當存在定期網絡問題時,即使主體服務器沒有問題,一個故障轉移也會發生。有沒有一些選項可以延遲這個故障轉移呢?因為我在SQL Server管理套件中什麼也沒看到。

專家解答

正如上面所說的,通過使用SQL Server管理套件或者執行一些T-SQL命令來在高可用性模式選項中建立數據庫鏡像是很簡單明了的事情。如果你對SQL Server聯機幫助做一些挖掘,你會注意到有記錄的一些選項在GUI中是不可用的。這些選項的某一員是PARTNER TIMEOUT。

PARTNER TIMEOUT是SQL Server用來確定最大時段的值,這個時段是在確認一個故障轉移是否應該發生前,一個實例等待從SQL Server另一個實例發出的”ping”信息的時間。

有了數據庫鏡像的高可用性模式,這三個服務器的關系如下:

這三個服務器不斷地ping對方,形成一個保留仲裁,並且如果這三台服務器中的某台不能用,那麼其他服務器將確定怎樣解決故障轉移。考慮到這些機器所處的位置和網絡的可靠性,主體服務器將會斷開連接,見證服務器和鏡像服務器仍然保留仲裁,也正因為如此,這兩個服務器會初始化故障轉移。

如果有一些問題,比如網絡負載或者其他原因導致這三個服務器之間的通信有延遲,那麼一個解決方案是更改PARTNER TIMEOUT。默認情況下,這個值設置成10秒,所以如果一個“ping”在10秒的時間段內沒有收到,那麼一個故障轉移將會發生。

要想把這改成一個更長的值,比如20秒,那麼下面的命令應該在要鏡像的主體服務器數據庫中執行。

ALTER DATABASE dbName SET PARTNER TIMEOUT 20

要注意用於這個選項的值。如果這個值被設置成高並且失敗確實發生了,那麼自動故障轉移就會基於你設置的值消耗更多的時間。

另外,“最低的”這個值可以按照在SQL Server聯機幫助中提供的信息設置成5秒。

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