Belirtiler
Bu güncelleştirme, Microsoft SQL Server AlwaysOn Kira Zaman Aşımı desteklenebilirliği için aşağıdaki iyileştirmeleri içerir:
-
Kira Zaman Aşımı iletisi artık geçerli saati ve beklenen yenileme süresini görüntüler ve günlüğe kaydeder.
-
Kira çalışanları için Kira Zaman Aşımının nedenini açıkça belirten yeni bir hata iletisi eklendi.
-
Yeni bir genişletilmiş olay ve kira çalışanları için yeni bir halka arabelleği eklendi. Bunlar kiralama aşamalarını net bir şekilde gösterir.
Çözüm
Sorun ilk olarak SQL Server için aşağıdaki Hizmet Paketlerinde düzeltildi.
SQL Server 2012 Service Pack 3 (SP3) hakkında daha fazla bilgi için, bkz. SQL Server 2012 Service Pack 3'te düzeltilen hatalar.
SQL Server 2014 için SQL Server için Service Pack 2SQL Server Service paketleri için hizmet paketleri hakkında toplu olarak sağlanır. Her yeni hizmet paketi, yeni düzeltmelerle birlikte önceki hizmet paketlerindeki düzeltmeleri de içerir. Önerimiz, bu hizmet paketi için en son hizmet paketini ve en son toplu güncelleştirmeyi uygulamaktır. En son hizmet paketini yüklemeden önce önceki bir hizmet paketini yüklemeniz gerekmez. En son hizmet paketi ve en son toplu güncelleştirme hakkında daha fazla bilgi bulmak için aşağıdaki makaledeki Tablo 1'i kullanın.SQL Server ve bileşenlerinin sürüm, sürüm ve güncelleştirme düzeyini belirleme
Ek Bilgi
Ek içgörü sağlamak için SQL Server yeni hata iletileri eklendi. Aşağıdaki tabloda bunların her biri listelenip açıklanmaktadır.
|
Hata |
Hata iletisi |
Neden |
Düzeltici eylem |
|---|---|---|---|
|
19419 |
'%.*ls' kullanılabilirlik grubu ile Windows Server Yük Devretme Kümesi arasındaki kiralamanın yenilenmesi, mevcut kira artık geçerli olmadığından başarısız oldu. |
SQL Server tarafındaki kira çalışanı, kümeden olay sinyalini işlemek için zamanında zamanlanmadı. |
SQL Server kira çalışanı açlıktan ölüyor gibi göründüğünden sunucudaki CPU kullanımını denetleyin. |
|
19420 |
'%.*ls' kullanılabilirlik grubunun kira yenilemesini durdurması açıkça istendi. |
Kira yenileme, kullanılabilirlik grubunu çevrimdışına getirmenin bir parçası olarak durduruluyor. Bu yalnızca bilgilendirme amaçlıdır. |
|
|
19421 |
'%.*ls' kullanılabilirlik grubu ile Windows Server Yük Devretme Kümesi arasındaki kiralamanın yenilenmesi, yenileme kiralama aralığı içinde gerçekleşmediğinden başarısız oldu. |
Küme tarafındaki kira yardımcısı, SQL Server kira çalışanına zamanında sinyal vermedi. |
Hata bildirip bildirmediğini görmek için WSFC kümesindeki ilgili kullanılabilirlik grubu kaynağını denetleyin. |
|
19422 |
'%.*ls' kullanılabilirlik grubu ile Windows Server Yük Devretme Kümesi arasındaki kiralamanın yenilenmesi, Hata kodu ('%d') ile ilgili bir windows hatası nedeniyle başarısız oldu. |
SQL Server tarafındaki kira çalışanı, windows hatası nedeniyle kirayı yenileyemedi. |
Windows hata kodunu denetleyin ve düzeltici eylemi gerçekleştirin. |
|
19423 |
'%.*ls' kullanılabilirlik grubunun kirası, kiralama yenileme işlemini başlatmak için artık geçerli değil. |
Kira çalışanı çevrimiçi çağrı tarafından sağlanan fazla kiralama süresini işlemeye başladığında kiranın süresi zaten dolmuştu. Zamanlama sorunları nedeniyle bu durum yaşanabilir. |
SQL Server kira çalışanı açlıktan ölüyor gibi göründüğünden sunucudaki CPU kullanımını denetleyin. |
|
19424 |
'%.*ls' kullanılabilirlik grubunun kira çalışanı artık çevrimiçi ortamda sağlanan fazla kira süresi (%u ms) ile uyuyor. Bu yalnızca bilgilendirme amaçlı bir iletidir. Kullanıcı eylemi gerekmez. |
Bilgi. Kira yenileme iş parçacığını başlatmaya ve kullanılabilirlik grubu çevrimiçi yordamının bir parçası olarak fazladan çevrimiçi zaman ayırma. |
19419 hatası örneği: SQL Server eklemek için bir hata ayıklayıcısı kullanırsanız, siz SQL Server işlemine devam edene kadar SQL Server işlemdeki iş parçacıklarının tüm bakımlarını kesintiye uğratır. SQL Server sürdürürken, SQL Server hata günlüğünde aşağıdakiler bildirilir:
<Tarih Saat> Sunucu Hatası: 19419, Önem Derecesi: 16, Durum: 1. <Tarih Saat> Sunucusu Windows Server Yük Devretme Kümesi, kira zaman aşımı süresi içinde 'ag' adlı SQL Server barındırma kullanılabilirlik grubundan işlem olayı sinyali almadı. <Tarih Saat> Sunucu Hatası: 19407, Önem Derecesi: 16, Durum: 1. <Tarih Saat> Sunucusu Kullanılabilirlik grubu 'ag' ile Windows Server Yük Devretme Kümesi arasındaki kiralamanın süresi doldu. SQL Server örneği ile Windows Server Yük Devretme Kümesi arasında bir bağlantı sorunu oluştu. Kullanılabilirlik grubunun yük devretmesinin doğru olup olmadığını belirlemek için Windows Server Yük Devretme Kümesindeki ilgili kullanılabilirlik grubu kaynağını denetleyin. <Date Time time> Server AlwaysOn: 'ag' kullanılabilirlik grubunun yerel çoğaltması, kiranın süresi dolduğundan veya kira yenilemesi başarısız olduğundan çevrimdışı oluyor. Bu yalnızca bilgilendirme amaçlı bir iletidir. Kullanıcı eylemi gerekmez. <Tarih Saat> Sunucusu 'ag' kullanılabilirlik grubundaki yerel kullanılabilirlik çoğaltmasının durumu 'PRIMARY_NORMAL' olan 'RESOLVING_NORMAL' olarak değiştirildi. Çoğaltma durumu bir başlangıç, yük devretme, iletişim sorunu veya küme hatası nedeniyle değişti. Daha fazla bilgi için bkz. Kullanılabilirlik grubu panosu, SQL Server hata günlüğü, Yük Devretme Kümesi yönetim konsolu Windows Server veya Yük Devretme Kümesi günlüğünü Windows Server.
SQL Server küme hizmetine yanıt vermediğinden 19419 hatası döndürülür. Ayrıca, 19419 hatasıyla birlikte bir kira zaman aşımı hata iletisi (19407) alabilirsiniz.19424 hatası örneği: Kullanılabilirlik grubu BİRİnCİl role geçmeden hemen önce bildirilen fazla kira süresi iletisi aşağıda verilmiştir:
<Tarih Saat> Sunucusu 'ag' kullanılabilirlik grubunun kira çalışanı artık çevrimiçi ortamda sağlanan fazla kira süresini (164766 ms) uyuyor. Bu yalnızca bilgilendirme amaçlı bir iletidir. Kullanıcı eylemi gerekmez. <Tarih Saat> Sunucusu 'ag' kullanılabilirlik grubundaki yerel kullanılabilirlik çoğaltmasının durumu 'PRIMARY_PENDING' olan 'PRIMARY_NORMAL' olarak değiştirildi. Çoğaltma durumu bir başlangıç, yük devretme, iletişim sorunu veya küme hatası nedeniyle değişti. Daha fazla bilgi için bkz. Kullanılabilirlik grubu panosu, SQL Server hata günlüğü, Yük Devretme Kümesi yönetim konsolu Windows Server veya Yük Devretme Kümesi günlüğünü Windows Server.
availability_group_lease_expired ve hadr_ag_lease_renewal XEvents, kiranın koşulu hakkında daha fazla bilgi sağlayan veri noktalarının eklenmesiyle geliştirilmiştir. Aşağıdaki tabloda bu XEvents geliştirmeleri açıklanmaktadır:
|
Xevent |
Yeni sütun |
Açıklama |
|---|---|---|
|
availability_group_lease_expired |
current_time |
Kiranın süresinin dolduğu zaman |
|
availability_group_lease_expired |
new_timeout |
availability_group_lease_expired current_time zaman aşımı süresi new_timeout |
|
availability_group_lease_expired |
Durum |
Kira aşamaları: Aşağıdaki Kira Aşamaları tablosuna bakın |
|
hadr_ag_lease_renewal |
Durum |
hadr_ag_lease_renewal |
|
hadr_ag_lease_renewal |
Hata_kodu |
Durum HadrLeaseRenewal_FailedWithWindowsError ise hatayla ilişkili Windows hata kodu error_code |
Kira aşamaları ve tanımlarıAşağıdaki tabloda olası kira aşamaları listelenmiş ve işlevleri açıklanmaktadır:
|
Aşama adı |
Açıklama |
|---|---|
|
HadrLeaseRenewal_LeaseWorkerStarted |
Kira çalışanı iş parçacığı başlatıldı. |
|
HadrLeaseRenewal_StartedExcessLeaseSleep |
Fazla kiralama başlatılıyor. Fazla kiralama aşamaları, kullanılabilirlik grubunun çevrimiçi aşamasında kira iş parçacığının başlangıcını belgeler. |
|
HadrLeaseRenewal_FailedExcessSleepInvalidOnlineLease |
Kiranın süresi zaten dolduysa fazla kiralama başarısız olur. |
|
HadrLeaseRenewal_SkipExcessSleep |
Uyku süresi kiralama aralığından azsa fazla kiralamayı atlarız. Fazla kiralamadan geçmeye gerek yoktur, sadece el sıkışma işlemini başlatın. |
|
HadrLeaseRenewal_ExcessSleepSucceeded |
Fazla kiralama başarılı oldu. |
|
HadrLeaseRenewal_RenewSucceeded |
Bunu her yenilemede görmemiz gerekir. |
|
HadrLeaseRenewal_LeaseNotValid |
Hataya eşdeğer: 19419 Windows Server Yük Devretme Kümesi, kiralama zaman aşımı süresi içinde '%.*ls' barındırma kullanılabilirlik grubu SQL Server işlem olayı sinyali almadı. |
|
HadrLeaseRenewal_StopLeaseRenewal |
Bunu yük devretme olayı sırasında görmeniz gerekir. |
|
HadrLeaseRenewal_LeaseExpired |
Hataya eşdeğer: '%.*ls' barındırma kullanılabilirlik grubu 19421 SQL Server kiralama zaman aşımı süresi içinde Windows Server Yük Devretme Kümesinden işlem olayı sinyali almadı. |
|
HadrLeaseRenewal_FailedWithWindowsError |
Kira yenileme bir windows hatası nedeniyle başarısız oldu. |
Daha fazla bilgi için bkz . Geliştirilmiş AlwaysOn Kullanılabilirlik Grubu Kira Zaman Aşımı Tanılaması.Kira Zaman Aşımı hakkında daha fazla bilgi için bkz. How It Works: SQL Server AlwaysOn Lease Timeout.
Durum
Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.