AlwaysOn kullanılabilirlik grupları, SQL ServerSQL Server 2014 CU5, SQL ServerSQL Server 2012 SP2 CU4 veya SQL ServerSQL Server 2012 SP2 CU3 bölümünden sonra EŞITLENMİYOR olarak bildirilebilir

Uygulandığı Öğe
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Enterprise Core

Belirtiler

Aşağıdaki senaryoyu ele alalım:

  • Sıralı yükseltmenin parçası olarak bir kullanılabilirlik grubunun ikincil çoğaltmasını barındıran bir sunucuda Microsoft SQL ServerSQL Server 2014 veya Microsoft SQL ServerSQL Server 2012 Service Pack 2 (SP2) çalıştırıyorsunuz.

  • SQL Server yüklemesine aşağıdaki güncelleştirmelerden birini uyguladınız:

    • SQL ServerSQL Server 2014 Cumulative Update 5
    • SQL ServerSQL Server 2012 Service Pack 2 Cumulative Update 4
    • SQL ServerSQL Server 2012 Service Pack 2 Cumulative Update 3

    Önemli: Bu makalede bahsedilen düzeltme, bu toplu güncelleştirmelerin yerini alır. Bu güncelleştirmeleri henüz yapmadıysanız yüklemeyin. 

  • Toplu güncelleştirmeyi yüklemeyi tamamlamak için bu ikincil çoğaltmayı yeniden başlatırsınız.

  • Güncelleştirilmiş ikincil çoğaltmayı birincil role geçiren kullanılabilirlik grubunun yükünü devredersiniz.

Bu senaryoda, SQL Server çalıştıran ve şu anda kullanılabilirlik grubunuzun birincil çoğaltmasını barındıran sunucuda aşağıdaki belirtilerden bir veya daha fazlasıyla karşılaşabilirsiniz:

  • İkincil çoğaltmalar "EŞİTLENMİYOR" olarak bildirilir.

  • sys.dm_exec_requests sorguladığınızda, kullanıcı oturumları ile komutu "DB_STARTUP" olarak bildirilen bir oturum arasında aralıklı kilit engellemesi olduğunu fark edersiniz. CHECKPOINT ve DB_STARTUP komutları arasında engelleme olduğunu da fark edebilirsiniz.

  • Kullanılabilirlik veritabanlarınızdan birini kurtaran oturumu içeren kilitlenmeler SQL ServerSQL Server hata günlüğünde bildirilir. Bu günlükler aşağıdakine benzer:

    <tarih/saat> spid<xx> Kurtarma dbname/dbid> veritabanında <bir kontrol noktası yazıyor. Bu,
    Yalnızca bilgilendirme amaçlı bir ileti. Kullanıcının herhangi bir işlem yapması gerekmez.
    <tarih/saat> spid<xx> dbname/dbid> veritabanı <için kurtarma> tamamlandı x saniye (<s) (analiz
    <x> ms, yinele <x ms, geri al <x>> ms.) Bu yalnızca bilgilendirme amaçlıdır. Kullanıcının herhangi bir işlem yapması gerekmez.
    …
    <tarih/saat> spid<xx> Hata: 1205, Önem Derecesi: 13, Durum: 28.
    <tarih/saat> spid<xx> İşlem (İşlem Kimliği <xx>) başka bir kaynakla kilit kaynaklarında kilitlenmeye başladı
    süreci ve kilitlenme kurbanı olarak seçilmiştir. İşlemi yeniden çalıştırın.

  • Kullanılabilirlik veritabanınız için etkinleştirilmişse Microsoft SQL Server Service BrokerMicrosoft SQL Server Hizmet Aracısı, kullanılabilirlik veritabanınızdaki iletiler başarıyla işlenemeyebilir. Profil Oluşturucu izleme aracını başlatır ve ardından "Broker:Message Classify" olayını yakalarsanız, aşağıdaki olay yakalanır:

    9791, Aracı gönderenin veritabanında devre dışı bırakıldı

Not: Bu sistematik bir sorun değildir. Bu toplu güncelleştirmeleri bu sorunu yaşamadan bir AlwaysOn yapılandırmasında uygulayabilirsiniz. Bu toplu güncelleştirmeleri zaten uyguladıysanız ve bu sorunu fark etmediyseniz, sisteminiz etkilenmez ve bu bilgiler sizin için geçerli değildir.

Neden

Bu sorun, sistem iş parçacıkları ile kullanıcı bağlantıları arasında bazen bir yarış durumu oluştuğu için oluşur. Bu, toplu güncelleştirmenin düzeltme eki uygulama mantığının güncelleştirme işlemini tamamlamak için gereken kilitleri almasını engeller.

Çözüm

Bu sorunu gidermek için aşağıdaki kritik isteğe bağlı (COD) düzeltmeyi uygulayın:

3034679 DÜZELTME: AlwaysOn kullanılabilirlik grupları EŞİTLENMİYOR olarak bildirilebilir
Önemli Aşağıdaki toplu güncelleştirmeler yerine bu COD düzeltmesini uygulamanız gerekir:

  • SQL ServerSQL Server 2014 Cumulative Update 5
  • SQL ServerSQL Server 2012 Service Pack 2 Cumulative Update 4
  • SQL ServerSQL Server 2012 Service Pack 2 Cumulative Update 3

        
Not Bu toplu güncelleştirmeleri zaten uyguladıysanız, bu sorunu çözmek için aşağıdaki geçici çözümü kullanmanız gerekir.

Geçici çözüm

Bu sorun, veritabanları birincil role geçerken kullanıcı oturumu ile yükseltme oturumu arasındaki kullanılabilirlik veritabanlarına karşı çekişmeden kaynaklandığından, veritabanlarının bu durumdan kurtarılmasını sağlamak için bu çakışmayı ortadan kaldırmanız gerekir.

Bu soruna geçici bir çözüm bulmak için aşağıdaki adımları uygulayın:

  1. Aşağıdaki yöntemleri verildikleri sırayla deneyin.

    Yöntem 1: Veritabanı erişimini ortadan kaldırmaVeritabanları "Belirtiler" bölümünde açıklanan belirtilerle karşılaştığında, kilit engelleme koşulunu ortadan kaldırmak için aşağıdaki adımlardan birini veya her ikisini birden gerektiği şekilde kullanın:

    • Kullanılabilirlik veritabanlarında kilit engellemenin oluştuğu oturumları bulmak için sys.dm_exec_requests sorgulayın. Bu oturumları sonlandırmak için KILL deyimini kullanın.
    • Kullanılabilirlik veritabanlarına erişen uygulamayı devre dışı bırakın veya durdurun.

    Yöntem 1 sorunu gidermezse, Yöntem 2'ye geçin.

    Yöntem 2: SQL Server ana bilgisayar sunucusunu yeniden başlatmaUygulama erişimi ve kullanıcı erişimi hala devre dışı bırakıldığında, etkilenen kullanılabilirlik veritabanlarını barındıran SQL Server örneğini yeniden başlatın. Bunu yapmak için aşağıdaki adımları izleyin:

    1. Kullanılabilirlik grubunun otomatik yük devretmesini devre dışı bırakın.
    2. Birincil çoğaltmayı barındıran etkilenen SQL Server örneğini yeniden başlatın.
    3. Kullanılabilirlik grubunun otomatik yük devretmesini etkinleştir.
  2. Etkilenen veritabanları tümüyle kurtarıldıktan sonra, uygulama ve kullanıcı bağlantısını yeniden kurun.

Durum

Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.

Başvurular

Bu sorundan etkilenen toplu güncelleştirmeler hakkında daha fazla bilgi için aşağıdaki Microsoft Bilgi Bankası makalelerine bakın: