Belirtiler
Microsoft SQL ServerSQL Server 2012 aracındaki AlwaysOn Kullanılabilirlik Grupları özelliğini kullandığınızı varsayalım. İkincil çoğaltmanın "okunabilir" olan bağlantı erişimini "okunamaz" olarak değiştirdiğinizde, verilen çoğaltmada sayfa sıkıştırması kullanılan sayfalarda bir bozulma meydana gelir.
İkincil çoğaltmada bu sorunu yaşayan kullanılabilirlik veritabanları, eşitlemenin yineleme aşamasındaki bir hata nedeniyle kurtarılamaz. İkincil çoğaltma birincil çoğaltmayla eşitlenmez ve eşitleme durumunu "SUSPEND_FROM_REDO" olarak bildirir. Ayrıca, ikincil çoğaltmayı barındıran SQL Server hata günlüğünde aşağıdaki hata iletilerini alırsınız:
Not
<
Tarih><Zaman> spid<Kimliği> Hatası: 17066, Önem Derecesi: 16, Durum: 1.
<
Tarih><Zaman> spid<Kimliği> SQL Server Onaylama: Dosya: <page.cpp>, satır=3898 Başarısız Onaylama = '!pageFull'. Bu hata zamanlamayla ilgili olabilir. İfade yeniden çalıştırıldıktan sonra hata devam ederse, veritabanında yapısal bütünlük olup olmadığını denetlemek için DBCC CHECKDB kullanın veya bellek içi veri yapılarının bozulmadığından emin olmak için sunucuyu yeniden başlatın.
<
Tarih><Zaman> spid<Kimliği> Hatası: 3624, Önem Derecesi: 20, Durum: 1.
<
Tarih><Zaman> spid<kimliği> Bir sistem onaylama denetimi başarısız oldu. Ayrıntılar için SQL Server hata günlüğünü kontrol edin. Onaylama işlemi hatasına genellikle bir yazılım hatası veya veri bozulması neden olur. Veritabanı bozukluklarını denetlemek için DBCC CHECKDB aracını çalıştırmayı göz önünde bulundurun. Kurulum sırasında Microsoft'a döküm göndermeyi kabul ettiyseniz Microsoft'a mini bir döküm gönderilir. En son Hizmet Paketi'nde veya Teknik Destek'in QFE'sinde Microsoft tarafından sunulan bir güncelleştirme sunulabilir.
<
Tarih><Zaman> spid<kimliği> 'DataBase Name>'< veritabanı için AlwaysOn Kullanılabilirlik Grupları veri taşıma işlemi şu nedenle askıya alındı: "system" (Kaynak Kimliği 2; Kaynak dize: 'SUSPEND_FROM_REDO'). Veritabanında veri taşıma işlemini sürdürmek için, veritabanını el ile sürdürmeniz gerekir. Kullanılabilirlik veritabanını sürdürme hakkında bilgi için SQL Server Books Online'a bakın.
<
Tarih><Zaman> spid<Kimliği> Hatası: 3313, Önem Derecesi: 21, Durum: 2.
<
Tarih><Zaman> spid<kimliği> 'DataBase Name>'< veritabanında günlüğe kaydedilmiş bir işlemin yeniden yapılması sırasında, günlük kaydı kimliğinde (1786:4978584:74) bir hata oluştu. Genellikle, söz konusu hata daha önce Windows Olay Günlüğü hizmetinde hata olarak günlüğe kaydedilir. Veritabanını tam yedekten geri yükleyin veya onarın.
<
Tarih><Zaman> spid<kimliği alter> db parametresi seçeneği: SÜRDÜR
<
Tarih><Zaman> 'DataBase Name>'< veritabanı için spid<kimliği> AlwaysOn Kullanılabilirlik Grupları veri taşıma işlemi devam ettirildi. Bu yalnızca bilgilendirme amaçlıdır. Kullanıcının herhangi bir işlem yapması gerekmez.
<
Tarih><Zaman> spid<kimliği> Nitelenmemiş işlemler, AlwaysOn Kullanılabilirlik Grupları durum değişikliği için veritabanı <Veri Tabanı Adında> geri alınıyor. Tahmini geri alma tamamlama: %100. Bu yalnızca bilgilendirme amaçlıdır. Kullanıcının herhangi bir işlem yapması gerekmez.
<
Tarih><Zaman> Yineleme Kimliği: {bbdedecb-f26b-47e9-9e7d-7c22f99edb23} ile kullanılabilirlik çoğaltmasında birincil veritabanı '<DataBase Name>' için birincil veritabanı ile bağlantısı sonlandırıldı.<> Bu yalnızca bilgilendirme amaçlıdır. Kullanıcının herhangi bir işlem yapması gerekmez.
<
Tarih><Zaman> spid<kimliği> 'Veri Tabanı Adı><' veritabanı başlatılıyor.
<
Tarih><Zaman> spid<kimliği> 'DataBase Name>'< veritabanının kurtarılması (13) %0 tamamlandı (yaklaşık 781 saniye kaldı). Aşama 1/3. Bu yalnızca bilgilendirme amaçlıdır. Kullanıcının herhangi bir işlem yapması gerekmez.
……
Çözüm
Sorun ilk olarak aşağıdaki toplu SQL Server güncelleştirmesinde düzeltilmiştir.
SQL Server 2012 SP2 için Toplu Güncelleştirme 6
SQL Server 2012 SP1 için Toplu Güncelleştirme 16
SQL Server toplu güncelleştirmeleri hakkında
SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmelere göz atın:
- SQL Server 2012 SP2 için en son toplu güncelleştirme
- SQL Server 2012 SP1 için en son toplu güncelleştirme
Daha Fazla Bilgi
İkincil çoğaltma için okuma erişimi değiştirildiğinde önceki sorun oluşabilir.
Aşağıdaki iki yöntemi kullanarak ikincil çoğaltmadaki kullanılabilirlik veritabanlarının okuma erişimini ayarlayabilirsiniz:
ALTER AVAILABILITY GROUP komutunu kullanarak okuma erişimini ayarlayın:
ALTER AVAILABILITY GROUP [AGName] MODIFY REPLICA ON N'<SRV>' WITH (SECONDARY_ROLE(ALLOW_CONNECTIONS = NO))TNesne GezginiNesne Gezgini of SQL Server Management StudioSQL Server Management Studio (SSMS) bölümündeki ayarları değiştirerek okuma erişimini ayarlayın:
- Sunucuya bağlanın ve ardından AlwaysOn Kullanılabilirlik klasörünü açın.
- Kullanılabilirlik Grupları klasörünü açın.
- Kullanılabilirlik grubuna sağ tıklayın ve Özellikler'i seçin.
- İkincil çoğaltmanın Okunabilir İkincil özelliğini Hayır olarak değiştirin ve Tamam'a tıklayın.
Durum
Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.