Share via


Otomatik sayfa onarım sırasında veritabanı oturum yansıtma

Içinde başlangıç SQL Server 2008, ortak yansıtma bir veritabanı otomatik olarak yansıtmayı veritabanında bozuk sayfalar arasında belirli türde bir veri sayfa okuma engelleyen hatalar çözme olarak kurtarmaya çalışır. Yeni bir kopya, sayfa okuyamıyor ortak diğer ortağından ister.Bu isteğin başarılı olursa, okunamayan sayfa, genellikle hata çözümler kopyası tarafından değiştirildi.

Not

Otomatik sayfa onarım ortaklarına veritabanı yansıtması tarafından DBCC onarım ' farklıdır.Tüm verileri korunur tarafından bir otomatik sayfa onarma.Buna ek olarak, DBCC REPAIR_ALLOW_DATA_LOSS seçeneğini kullanarak hataları gideriliyor bazı sayfaları ve bu nedenle, verilerin silinmesini gereksinim duyabilir.

Otomatik bir sayfa onarma girişimi neden hata türleri

Otomatik sayfa onarım veritabanı yansıtması, yalnızca bir işlem için 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 Döngüsel artıklık denetimi (CRC) üzerindeki verileri yükselttiyseniz, işlem yapılmaz.

error_crc.Bu hata için işletim sistemi değer 23'tür.

824

Mantıksal hatalar.

Bozuk yazma veya hatalı bir sayfa sağlama gibi mantıksal veri hataları.

829

Bir sayfa, geri yükleme olarak işaretlendi.

Tüm.

Son 823 CRC Hataları ve 824 hataları görüntülemek için bkz: suspect_pages tablo in the msdb veritabanıdır.

Sayfa türleri that otomatik onarıldı olamaz

Aşağıdaki denetim sayfa türleri, veritabanı'nı yansıtma onarılamıyor:

  • Dosya başlık sayfası (sayfa KIMLIĞI, 0).

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

  • Ayırma sayfaları: Genel tahsisat Haritası'nı (GAM) sayfaları, paylaşılan genel tahsisat Haritası (SGAM) sayfaları ve sayfa boş alan (PFS) sayfaları.

Asıl veritabanı işleme g/Ç hataları

asıl veritabanı, yalnızca bir düğüm SYNCHRONIZED durumda ve asıl sunucu hala günlük kayıtlarının yansıtma sunucusu gönderdiği otomatik sayfa onarım denenir.Temel sırasını otomatik sayfa onarma girişimi eylemleri aşağıdaki gibidir:

  1. Bir veri okuma hatası oluştuğunda sayfa asıl veritabanında, asıl sunucu bir satır ekler suspect_sayfas tablosu ile ilgili bir hata durumu.Asıl sunucu, sonra bir kopyasını ister sayfa yansıtmayı sunucudan.Istek, sayfa KIMLIĞI ve o anda temizlendi günlük sonunda SSN belirtir.Sayfa olarak işaretlenmiş Bekleyen bir geri yükleme.Bu erişilemez otomatik sayfa onarma girişimi sırasında sağlar.Bu sayfa onarma girişimi sırasında erişim girişimleri 829 (bekleyen geri yükleme) hatası vererek başarısız olur.

  2. Günlüğe istekte belirtilen SSN alınabilir sayfa isteğini aldıktan sonra yansıtma sunucusu bekler.Sonra yansıtma sunucusu sayfa erişmeye yansıtma veritabanı.Sayfa erişilebiliyorsa, yansıtmayı sunucu sayfanın kopyasını gönderir asıl sunucu.Aksi halde, yansıtma sunucusu için asıl sunucu hata verir ve otomatik sayfa onarma girişimi başarısız.

  3. Yeni bir kopyasını içeren bir yanıt asıl sunucu işler sayfa.

  4. Otomatik sayfa onarma girişimi şüpheli bir sayfa giderir sonra sayfayı işaretlenmiştir suspect_pages tablo olarak ( gerievent_type = 4).

  5. G/Ç hatası sayfası neden olursa Ertelenen hareketleriSayfa onarıldıktan sonra , bu hareketleri çözmek, asıl sunucu çalışır.

G/Ç hataları yansıtma veritabanı işleme

G/Ç hataları yansıtmayı veritabanında oluşan veri sayfalarında, aşağıdaki şekilde ele alınır.

  1. Bu günlük kaydını yeniden yapar, bir veya daha fazla sayfa g/Ç hataları yansıtma sunucusu karşılaşıyorsa, yansıtma oturum SUSPENDED durumuna girer.Bu noktada yansıtma sunucusu, bir satır ekler suspect_pages tablo ile ilgili bir hata durumu.yansıtma sunucusu, sonra bir kopyasını ister sayfa asıl sunucudan.

  2. Birincil sunucuya erişmeye sayfa asıl veritabanındaki.Sayfa erişilebiliyorsa, asıl sunucu, sayfanın kopyasını yansıtma sunucusu gönderir.

  3. yansıtma sunucusu istedi, her sayfanın bir kopyasını alır, yansıtma sunucusu yansıtma oturuma devam dener.Otomatik sayfa onarma girişimi şüpheli bir sayfa giderir, sayfanın işaretlenmiştir suspect_pages geri yüklenen ( tablosuevent_type = 4).

    yansıtma sunucusu, asıl sunucudan istenen sayfa almazsa, otomatik sayfa onarma girişimi başarısız olur ve yansıtma oturum askıya alınmış olarak kalır.Yansıtma oturum el ile devam ederseniz, bozuk sayfalar yeniden eşitleme evre sırasında isabet.

Geliştiricinin en iyi yöntem

Bir otomatik sayfa onarım arka planda çalışacak eşzamanlı olmayan bir süreçtir.Bu nedenle, yansıtılmış bir veritabanı bile, okunamayan bir sayfa isteyen bir veritabanı işlemi başarısız olur ve bunu ne olursa olsun bu durumun nedeni, hatanın hata kodunu döndürür.Yansıtılmış bir veritabanı için uygulama geliştirme, başarısız işlemleri için özel durumları yakalamak.If the SQL Server error code is 823, 824, or 829, you should retry the operation later.

Değişiklik Geçmişi

Güncelleştirilmiş içerik

Hatalı deyim kaldırıldı, otomatik sayfa onarım sınırlıdır SQL Server 2008 Enterprise. SQL Server 2008 Standart, otomatik sayfa onarım de destekler.