要在 SQL Server 2012年和 2014年的 SQL Server AlwaysOn 租用逾時支援能力的改進措施

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:3112363
徵狀
這個更新還包含下列的 Microsoft SQL Server AlwaysOn 租用逾時可支援性的改進︰
  • 租用逾時訊息現在會顯示,並記錄目前的時間和預期的更新時間。
  • 新增新的錯誤訊息的租用工作者,清楚地指出租用逾時的原因。
  • 已加入新的延伸的事件] 和 [租用工作者的新的環狀緩衝區。這些明確地指出租用階段。
解決方案
SQL Server 的第一次問題修正下列的 Service Pack 中。
如需有關 SQL Server 2012 Service Pack 3 (SP3) 的詳細資訊,請參閱 SQL Server 2012 Service Pack 3 中所修正的錯誤.

有關 SQL Server 的服務套件

Service pack 是累計的。每個新的 service pack 包含了所有的修正程式,先前的 service pack,加上任何新的修正程式中。我們建議以套用最新的 service pack 和該服務套件最新的累積更新。您沒有安裝先前的 service pack,才能安裝最新的 service pack。使用下列文件中的 [表格 1],尋找最新 service pack 及最新的累積更新的相關資訊。

如何判斷版本、 SQL Server 的版本,並更新層級和其元件
其他相關資訊
若要提供其他的見解,新的錯誤訊息已被新增到 SQL Server。下表列出並說明它們的每個。

錯誤錯誤訊息原因矯正措施
19419可用性群組之間使用期更新 ' %* ls' 和 Windows Server 容錯移轉叢集失敗,因為現有的租用已不再有效。未準時中未取得排定在 SQL Server 端租用背景工作處理從叢集事件訊號。請檢查伺服器上的 CPU 使用率,為 SQL Server 會很缺似乎租用背景工作。
19420可用性群組 ' %* ls' 明確地要求停止使用期更新。使用期更新正在停止帶離線可用性群組的一部份。這僅為資訊性。
19421可用性群組之間使用期更新 ' %* ls' 和 Windows Server 容錯移轉叢集失敗,因為更新沒有租用間隔內發生。叢集一邊的租用 helper 準時信號不傳遞 SQL Server 租用背景工作。請檢查對應的可用性群組資源,在 WSFC 叢集中,來查看是否它會報告任何錯誤。
19422可用性群組之間使用期更新 ' %* ls' 和 Windows Server 容錯移轉叢集失敗,因為 windows 錯誤,錯誤代碼 (' %1 ! ')。SQL Server 一邊租用背景工作,就無法更新租用,因為 windows 錯誤。檢查 windows 錯誤碼,並採取矯正措施。
19423使用期的可用性群組 ' %* ls' 租用已不再有效啟動租用更新程序。已開始處理過多的使用期時間的使用期工作者提供線上的呼叫時的租用已已經過期。這可能發生了,因為發生排程問題。請檢查伺服器上的 CPU 使用率,為 SQL Server 會很缺似乎租用背景工作。
19424租用背景工作的可用性群組 ' %* ls' 現在正在睡眠時線上提供過多的租用時間 (%u 毫秒)。這是參考用訊息。使用者不不需要任何動作。資訊。額外的線上的時間,分配用於啟動的使用期更新執行緒以及可用性群組線上常式的一部分。

範例的錯誤 19419:如果您使用偵錯工具附加至 SQL Server 時,它會中斷任何服務的 SQL Server 處理序中執行緒直到您繼續 SQL Server 程序。當您恢復執行 SQL Server 時,就會報告下列 SQL Server 錯誤記錄檔中︰

<Date time=""></Date>伺服器錯誤︰ 19419,嚴重性︰ 16,狀態︰ 1。
<Date time=""> </Date>Server Windows 伺服器容錯移轉叢集未收到來自裝載可用性群組 'ag' 使用期的逾時期間內的 SQL Server 處理序事件訊號。
<Date time=""></Date>伺服器錯誤︰ 19407,高的嚴重性等級︰ 16,狀態︰ 1。
<Date time=""></Date>伺服器可用性群組 'ag' 和 Windows Server 容錯移轉叢集之間使用期已經過期。SQL Server 的執行個體 」 與 「 Windows Server 容錯移轉叢集之間,發生連線問題。如果要判斷是否可用性群組容錯移轉正確,請檢查 Windows 伺服器容錯移轉叢集中對應的可用性群組資源。
<Date time=""></Date>伺服器 AlwaysOn︰ 可用性群組 'ag' 的本機複本會離線,因為使用期過期,或租用更新失敗。這是參考用訊息。使用者不不需要任何動作。
<Date time=""></Date>伺服器可用性的本機複本,可用性群組 'ag' 中的狀態已變更從 'PRIMARY_NORMAL' 為 'RESOLVING_NORMAL'。複本狀態變更,因為啟動、 容錯移轉、 有通訊的問題或叢集錯誤。如需詳細資訊,請參閱可用性群組儀表板、 SQL Server 錯誤記錄檔、 Windows 伺服器容錯移轉叢集管理主控台或 Windows Server 容錯移轉叢集記錄檔。

因為 SQL Server 沒有回應叢集服務,則會傳回 19419 的錯誤。您也可能會收到 「 租用逾時 」 錯誤訊息 (19407) 以及 19419 的錯誤。

錯誤 19424 的範例︰ 下面是多餘的租用時間訊息所報告的主要角色的可用性群組轉換之前︰

<Date time=""></Date>伺服器的可用性群組 'ag' 租用背景工作現在正在睡眠時線上提供過多的租用時間 (也就是 164766 毫秒)。這是參考用訊息。使用者不不需要任何動作。
<Date time=""></Date>伺服器可用性的本機複本,可用性群組 'ag' 中的狀態已變更從 'PRIMARY_PENDING' 為 'PRIMARY_NORMAL'。複本狀態變更,因為啟動、 容錯移轉、 有通訊的問題或叢集錯誤。如需詳細資訊,請參閱可用性群組儀表板、 SQL Server 錯誤記錄檔、 Windows 伺服器容錯移轉叢集管理主控台或 Windows Server 容錯移轉叢集記錄檔。

Availability_group_lease_expiredhadr_ag_lease_renewal XEvents 已加強,加上提供租用的相關狀況的詳細資訊的資料點。下表說明這些 XEvents 的改良︰

XEvent新的資料行描述
availability_group_lease_expiredcurrent_time此時過期使用期的時間
availability_group_lease_expirednew_timeout逾時時間,當引發 availability_group_lease_expired 時,current_time 大於 new_timeout
availability_group_lease_expired狀態租用階段︰ 請參閱下表租用階段
hadr_ag_lease_renewal狀態hadr_ag_lease_renewal
hadr_ag_lease_renewal錯誤碼如果狀態為 HadrLeaseRenewal_FailedWithWindowsError 錯誤碼是 Windows 關聯的錯誤碼與失敗
租用階段與定義

下表列出可能的租用階段,並說明它們的函式︰

階段名稱描述
HadrLeaseRenewal_LeaseWorkerStarted租用背景工作執行緒啟動。
HadrLeaseRenewal_StartedExcessLeaseSleep起始多餘的使用期。多餘的租用階段文件的起始租用執行緒的可用性群組中的線上的工作階段。
HadrLeaseRenewal_FailedExcessSleepInvalidOnlineLease如果使用期已經過期,我們就會失敗多餘的租用。
HadrLeaseRenewal_SkipExcessSleep如果使用睡眠狀態的持續期間小於租用時間間隔,我們略過多餘的租用。沒有需要經過額外使用期的只是開始手搖動程序。
HadrLeaseRenewal_ExcessSleepSucceeded成功的額外使用期。
HadrLeaseRenewal_RenewSucceeded我們應該會看到與每次更新。
HadrLeaseRenewal_LeaseNotValid相當於錯誤︰ 19419

Windows Server 容錯移轉叢集未收到來自裝載可用性群組的 SQL Server 處理序事件訊號 ' %* ls' 使用期的逾時期間內。
HadrLeaseRenewal_StopLeaseRenewal您應該會看到在容錯移轉事件期間。
HadrLeaseRenewal_LeaseExpired相當於錯誤︰ 19421

SQL Server 裝載可用性群組 ' %* ls' 未收到程序事件訊號來自 Windows Server 容錯移轉叢集使用期的逾時期間內。
HadrLeaseRenewal_FailedWithWindowsError使用期更新失敗,因為 windows 錯誤。

如需詳細資訊,請參閱 改良的 AlwaysOn 可用性群組租用逾時的診斷.

如需有關使用期的逾時的詳細資訊,請參閱 它的運作方式︰ 的 SQL Server AlwaysOn 租用逾時.
狀況說明
Microsoft 已確認這是「套用」一節所列出的 Microsoft 產品的問題。

警告:本文為自動翻譯

內容

文章識別碼:3112363 - 最後檢閱時間:07/11/2016 16:57:00 - 修訂: 4.0

Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3112363 KbMtzh
意見反應