Bir veritabanı oturumu yansıtma sırasında otomatik sayfa onarım
İle başlayan SQL Server 2008, çalışır ortak yansıtma veritabanı yansıtması veritabanı belirli hata türlerini engellemek okuma çözme tarafından bozuk sayfaları otomatik olarak kurtarmakbir veri sayfa. sayfa okuyamıyor ortak diğer ortağından yepyeni bir kopyasını ister.Bu istek başarılı olursa, okunamayan sayfa hata genellikle çözer kopya değiştirilir.
Not
Otomatik sayfa onarım veritabanı tarafından yansıtma ortakları dbcc onarım ' farklıdır.Tüm verileri bir otomatik sayfa onarım tarafından korunur.Buna karşılık, dbcc REPAIR_ALLOW_DATA_LOSS seçeneğini kullanarak hataları düzeltme bazı sayfaları ve bu nedenle, verilerin silineceğini gerektirebilir.
Otomatik sayfa onarma girişimi neden hata türleri
Otomatik sayfa onarım çalışır yalnızca bir işlem başarısız oldu, hatalardan biri için bir veri dosyası sayfalarında onarmak için veritabanı ikizleme aşağıdaki listede tablo.
Hata numarası |
Açıklama |
Girişimi otomatik sayfa onarım neden örnekleri |
---|---|---|
Yalnızca işletim sistemi başarısız olan döngüsel artıklık denetimi (crc) veri üzerinde gerçekleştirilen, işlem yapılmaz. |
ERROR_CRC.Bu hata için işletim sistemi 23 değerdir. |
|
Mantıksal hatalar. |
Yırtık yazma ya da bozuk sayfa sağlama toplamı toplamı 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 , tablo msdb veritabanı.
Sayfa türleri olduğunu otomatik olarak tamir olamaz
Aşağıdaki denetim sayfa türleri veritabanı tarafından onarılamıyor yansıtma:
Dosya üstbilgisi sayfa (sayfa ID 0).
Sayfa 9 (veritabanı önyükleme sayfa).
Ayırma sayfaları: Genel ayırma Haritası (gam) sayfaları, paylaşılan genel ayırma Haritası (sgam) sayfaları ve sayfa boş alanı (pfs) sayfaları.
Asıl veritabanı üzerinde g/Ç hataları işleme
asıl veritabanı, yalnızca bir düğüm SYNCHRONIZED durumda ve asıl sunucu günlük kayıtları hala gönderiyor otomatik sayfa onarım denenir yansıtma sunucusu.Otomatik sayfa onarma girişimi eylemleri temel sırasını aşağıdaki gibidir:
Okuma hatası ortaya çıktığında bir veri sayfasında asıl veritabanı, asıl sunucu bir satır ekler suspect_pages uygun hata durumunu içeren tablo.asıl sunucu kopyasını sonra ister sayfa yansıtma sunucusundan.İstek, sayfa kimliği ve o an boşaltılmasıyla günlük sonunda SSN belirtir.Sayfa olarak işaretlenmiş Bekleyen geri yükleme.Bu, otomatik sayfa onarma girişimi sırasında erişilemez.Bu sayfa onarma girişimi sırasında erişim girişimleri 829 (bekleyen geri yükleme) hatası ile başarısız olur.
Sayfa isteğini aldıktan sonra yansıtma sunucusu istekte belirtilen SSN günlüğüne geri alınmış kadar bekler.Sonra yansıtma sunucusu erişim sayfa yansıtma veritabanında çalışır.Sayfa erişilen, yansıtma sunucu için sayfanın kopyasını gönderir asıl sunucu.Aksi takdirde, yansıtma sunucusu asıl sunucu ve otomatik sayfa onarma girişimi başarısız bir hata döndürür.
asıl sunucu Yeni bir kopya sayfa içeren yanıt işler.
Otomatik sayfa onarma girişimi şüpheli sayfa giderir sonra sayfa işaretlenmiştir suspect_pages geri gibi tablo (event_type = 4).
G/Ç hatası sayfası neden, ertelenmiş hareketleri, bu hareketlere çözümlemeye asıl sunucu çalışır sayfa onardıktan sonra.
Yansıtma veritabanı üzerinde g/Ç hataları işleme
G/Ç hataları yansıtma veritabanı üzerinde oluşan veri sayfalarında şu şekilde ele alınır.
yansıtma sunucusu Bir veya daha fazla sayfa g/Ç hataları karşılaştığında bir günlük kaydı yineler, yansıtma oturum BEKLEMEDE durumuna girer.Bu noktada, bir satırda yansıtma sunucusu ekler suspect_pages uygun hata durumunu içeren tablo.Yansıtma sunucu bir kopyasını sayfadan sonra ister asıl sunucu.
asıl sunucu sayfasına erişmeye asıl veritabanı.Sayfa erişilen, asıl sunucu için sayfanın kopyasını gönderir yansıtma sunucusu.
Yansıtma sunucu bunu istedi her sayfanın kopyasını alır, yansıtma sunucu yansıtma sürdürmek çalışır oturum.Otomatik sayfa onarma girişimi şüpheli sayfa giderir, sayfa işaretlenmiştir suspect_pages geri gibi tablo (event_type = 4).
Bir ayna sunucu tarafından istendiğinde bir sayfa almak, asıl sunucu, otomatik sayfa onarma girişimi başarısız ve yansıtma oturum askıya alınmış olarak kalır.oturum yansıtma el ile sürdürülür, bozuk sayfaları yeniden eşitleme aşamasında isabet.
En iyi uygulama geliştirici
Otomatik sayfa onarım, arka planda çalışan zaman uyumsuz bir işlemdir.Bu nedenle, yansıtılmış bir veritabanı için bile, okunamayan bir sayfa isteyen bir veritabanı işlemi başarısız ve ne olursa olsun durumu ortaya çıkan hata kodunu döndürür.Yansıtılmış bir veritabanı için bir uygulama geliştirirken, başarısız işlemleri için özel durumlara müdahale.If the SQL Server error code is 823, 824, or 829, you should retry the operation later.