Otomatik sayfa onarım (kullanılabilirlik grupları ve veritabanı yansıtma)

Otomatik sayfa onarım veritabanı yansıtma ve tarafından desteklenmektedir AlwaysOn Kullanılabilirlik Grupları. Sonra belirli hata türlerini okunamayan, yapım ortağı (asıl veya yansıtma) yansıtma veritabanı sayfa bozuk veya kullanılabilirlik çoğaltmasını (birincil veya ikincil) sayfa otomatik olarak kurtarmaya çalışır. Sayfayı okuyamıyor ortağı/çoğaltma ortağından veya başka bir çoğaltma sayfanın bir kopyasını ister. Bu istek başarılıysa, okunamayan sayfa tarafından okunabilir kopya, değiştirilir ve bu genellikle hatayı giderir.

Genel olarak konuşursak, veritabanı yansıtma ve AlwaysOn Kullanılabilirlik Gruplarıg/Ç hataları eşdeğer şekilde ele. Farklılıklar açıkça burada seslendi.

[!NOT]

Otomatik sayfa onarım dbcc onarım farklıdır. Tüm verilerin otomatik sayfa onarma tarafından korunur. Buna karşılık, dbcc REPAIR_ALLOW_DATA_LOSS seçeneğini kullanarak hataları düzeltmek bazı sayfaları ve bu nedenle veri silinmesi gerekebilir.

  • Otomatik sayfa onarım neden olan hata türlerinin girişimi

  • Otomatik olarak onarılamaz sayfa türleri

  • Asıl adı/birincil veritabanı işleme ı/o hataları

  • Ayna/ikincil veritabanı işleme ı/o hataları

  • Geliştiricinin en iyi yöntemlerinden

  • Nasıl yapılır: otomatik sayfa onarma girişimi görüntüleme

Otomatik sayfa onarma girişimi neden hata türleri

Otomatik sayfa onarım yansıtma veritabanı, yalnızca üzerinde bir işlem başarısız oldu, aşağıdaki tabloda listelenen hatalardan biri için bir veri dosyası sayfalarında onarmaya çalışır.

Hata numarası

Açıklama

Otomatik sayfa onarım neden örnekleri girişimi

823

Yalnızca işletim sistemi başarısız bir Döngüsel artıklık denetimi (crc) veriler üzerinde gerçekleştirilen eylem yapılmaz.

ERROR_CRC. İşletim sistemi bu hatanın 23 değerdir.

824

Mantıksal hatalar.

Bozuk sayfa sağlama toplamı veya bozuk yazma gibi mantıksal veri hataları.

829

Bir sayfa geri yükleme olarak işaretlenmiş.

Tüm.

Son 823 crc hataları ve 824 hataları görüntülemek için bkz: suspect_pages içinde tablo msdb veritabanı.

[Üst]

Otomatik olarak onarılamaz sayfa türleri

Otomatik sayfa onarım cannot repair aşağıdaki denetim sayfası türleri:

  • Dosya üstbilgisi sayfa (sayfa numarası 0).

  • Sayfa 9 (veritabanı önyükleme sayfa).

  • Ayırma sayfaları: Global ayırma göster (gam) sayfalarda paylaşılan genel ayırma göster (sgam) ve sayfa boş alanı (pfs) sayfaları.

[Üst]

Asıl adı/birincil veritabanı işleme ı/O hataları

Asıl adı/birincil veritabanı üzerinde otomatik sayfa onarım sadece SENKRONİZE durumdaysa veritabanına ve Sorumlusu/birincil veritabanı günlük kayıtları hala ayna/ikincil gönderiyor denenir. Otomatik sayfa onarma girişimi eylemlerin temel sırası aşağıdaki gibidir:

  1. Asıl adı/birincil veritabanında veri sayfasında okuma hatası ortaya çıktığında, Sorumlusu/birincil bir satır ekler suspect_pages uygun hata durumu içeren tablo. Veritabanı yansıtma için asıl sonra sayfanın bir kopyasını yansıtmadan ister. İçin AlwaysOn Kullanılabilirlik Grupları, birincil ikinciller isteği yayınlar ve yanıt vermek için ilk sayfa alır. İstek, sayfa kimliği ve o anda boşaltılmasıyla oturum sonunda lsn belirtir. Sayfa olarak işaretlenmiş Bekleyen geri. Bu erişilmez otomatik sayfa onarma girişimi sırasında yapar. Bu sayfa onarma girişimi sırasında erişim girişimleri 829 (bekleyen geri) hatası ile başarısız olur.

  2. Bu istekte belirtilen lsn için günlük redone sayfa isteğini aldıktan sonra ayna/ikincil bekler. Sonra ayna/ikincil veritabanı kendi kopyasını sayfaya erişmeye çalışır. Sayfanın erişilebilir ayna/ikincil Sorumlusu/birincil sayfanın kopyasını gönderir. Aksi takdirde, ayna/ikincil Sorumlusu/birincil hata verir ve otomatik sayfa onarma girişimi başarısız.

  3. Asıl adı/birincil sayfanın kopyasını içeren yanıt işler.

  4. Otomatik sayfa onarma girişimi şüpheli sayfa giderir sonra sayfanın işaretlenmiştir suspect_pagestablo olarak geri ( event_type = 5).

  5. Eğer sayfa g/Ç hatası neden ertelenmiş hareketleri, sayfanın Sorumlusu/birincil çalışır, bu hareketlere çözümlemeye onardıktan sonra.

[Üst]

Ayna/ikincil veritabanı işleme ı/O hataları

G/Ç hataları ayna/ikincil veritabanı üzerinde oluşan veri sayfalarında genellikle aynı şekilde veritabanı yansıtma ve tarafından işlenir AlwaysOn Kullanılabilirlik Grupları.

  1. Ne zaman bir günlük kaydı yineler ayna bir veya daha fazla sayfa g/Ç hataları karşılaştığında veritabanı yansıtma ile yansıtma oturum suspended durumuna girer. İle AlwaysOn Kullanılabilirlik Grupları, tek bir ikincil çoğaltma karşılaştığında ya da bir günlük kaydı, ikincil veritabanı yeniden yapar zaman daha fazla sayfa I/O hataları suspended durumuna girdiğinde. Bu noktada, ayna/ikincil bir satır ekler suspect_pagesile ilgili hata durumu tablo. Ayna/ikincil sonra Sorumlusu/birincil sayfanın bir kopyasını ister.

  2. Sorumlusu/birincil veritabanı kendi kopyasını sayfaya erişmeye çalışır. Sayfanın erişilebilir Sorumlusu/birincil ayna/ikincil sayfasının kopyasını gönderir.

  3. Ayna/ikincil kopyalarını her sayfanın o istedi, ayna/ikincil yansıtma oturumu devam ettirmek çalışır. Otomatik sayfa onarma girişimi şüpheli sayfa giderirse, sayfa işaretlenmiştir suspect_pagestablo olarak geri ( event_type = 4).

    Bir ayna veya ikincil Sorumlusu/birincil istenen sayfa almazsa, otomatik sayfa onarma girişimi başarısız olur. Veritabanı yansıtma ile yansıtma oturum askıda kalır. İle AlwaysOn Kullanılabilirlik Grupları, ikincil veritabanı askıda kalır. Eğer oturum ya da ikincil veritabanı yansıtma sürdürülüyor elle, bozuk sayfaları yeniden eşitleme aşamasında vuracaktır.

[Üst]

Geliştiricinin en iyi yöntemlerinden

Otomatik sayfa onarım arka planda çalışan zaman uyumsuz bir süreçtir. Bu nedenle, okunamayan bir sayfa isteğinde bir veritabanı işlemi başarısız olur ve her türlü koşulu başarısızlığa neden hata kodunu döndürür. Yansıtılmış bir veritabanı ya da Veritabanı kullanılabilirlik için uygulama geliştirirken, başarısız olan işlem için özel durumlar kesmek. Eğer SQL Serverhata kodu 823, 824 veya 829, sonra işlemi yeniden deneyin.

[Üst]

Nasıl yapılır: Görünüm otomatik sayfa onarma girişimleri

Aşağıdaki dinamik yönetimi görünümleri verilen kullanılabilirlik veritabanı veya veritabanı başına 100 satır en fazla yansıtılmış veritabanı en son otomatik sayfa onarma girişimi için satır döndürür.

  • AlwaysOn kullanılabilirlik gruplar:

    sys.dm_hadr_auto_page_repair (Transact-sql)

    Herhangi bir kullanılabilir veritabanı herhangi bir kullanılabilirlik grubu için sunucu örneği tarafından barındırılan bir kullanılabilirliği çoğaltma her otomatik sayfa onarma girişimi için bir satır döndürür.

  • Veritabanı yansıtma:

    sys.dm_db_mirroring_auto_page_repair (Transact-sql)

    Sunucu örneği üzerinde yansıtılmış herhangi bir veritabanı üzerinde her otomatik sayfa onarma girişimi için bir satır döndürür.

[Üst]

Ayrıca bkz.

Kavramlar

Suspect_pages tablo (SQL Server) yönetme

AlwaysOn kullanılabilirlik grupları (SQL Server) genel bakış

(SQL Server) yansıtma veritabanı