Share via


Sayfa gerçekleştirme geri yükler

Bu konu için ilgili SQL Server veritabanları, kullanıyor tam veya toplu oturum kurtarma modelleri.Sayfa geri yükleme yalnızca okuma/yazma filegroups için desteklenir.

sayfa geri yükleme yüklemesi yüklemesi yüklemesi amacı, bir veya daha fazla bozuk sayfalar tüm veritabanını geri yükleme yüklemeden geri yükleme yüklemektir.Tipik olarak, geri yükleme için aday olan sayfalar "Şüpheli" olarak işaretlenmiş sayfa erişirken karşılaşılan bir hata nedeniyle.Şüpheli sayfa içinde tanımlanır suspect_pages , tablo msdb veritabanı.

Not

Tüm sayfa hataları, bir geri yükleme gerektirir.Bir sorun gibi verileri yeniden hesaplayarak çözülebilir ikincil dizin, önbelleğe alınan verileri ortaya çıkabilir.Veritabanı Yöneticisi ikincil dizine keser ve onu yeniden oluşturur, örneğin, bozuk veriler sabit olsa da, bu şekilde belirtilen değil suspect_pages tablo.

Birden çok veritabanı sayfaları hemen geri yüklenebilir.Günlük dosyasını Yedekler Kurtarılıyor bir sayfa içeren tüm veritabanı dosyaları için uygulanır.dosya geri yükleme yüklemesi gibi ileri sarma küme bir tek günlük yineleme geçişi ile Gelişmiş.

Sayfa geri yükleme yalıtılmış bozuk sayfalar onarmak için hazırlanmıştır.Geri yükleme ve birkaç tek tek sayfalar kurtarma dosya geri yüklemesi bir geri yükleme işlemi sırasında çevrimdışı veri miktarını azaltarak bir daha hızlı olabilir.Ancak, bir dosyadaki birkaç sayfa geri yükleme varsa, dosyanın tamamını geri yükleme yüklemek için genellikle daha etkili olur.Örneğin, bir aygıt sayfalarında çok sayıda bekleyen aygıt hatası gösteriyorsa, dosya büyük olasılıkla başka bir konuma geri yükleme ve aygıt onarma göz önünde bulundurun.

Sayfa geri yükleme senaryoları

Tüm sürümleri SQL Server 2005 ve sonraki sürümlerinde veritabanını çevrimdışı olduğunda geri yükleme sayfaları destek (çevrimdışı sayfa geri yüklemesi).De SQL Server 2005 Enterprise Edition ve sonraki sürümleri, sayfa geri yükleme yüklemesi yüklemesi yüklemesi sırasında veritabanı çevrimiçi veritabanı kalır çevrimiçi.Geri yükleme ve veritabanını çevrimiçi durumdayken bir sayfa kurtarma adı verilen bir Çevrimiçi sayfa geri yüklemesi.

Bu sayfa geri yükleme yüklemesi yüklemesi senaryoları aşağıdaki gibidir:

  • Çevrimdışı sayfa geri yükleme yüklemesi yüklemesi

    SQL Server 2005 Standard, SQL Server 2005 Express Edition, and SQL Server 2005 Workgroup, and later versions, support only offline restore.SQL Server 2005 Enterprise Edition and later versions use offline restore if the database is already offline.Bozuk sayfalar geri yükleme çalışırken çevrimdışı sayfa geri yükleme yüklemesi yüklemesi çevrimdışı veritabanıdır.Veritabanı geri yükleme sırası sonunda çevrimiçi gelir.

    sayfa geri yükleme yüklemesi başarılı olması veritabanı ile tutarlı bir duruma geri yükleme yüklenen sayfaların kurtarılması gerekiyor.sayfa İleri geçerli günlük dosyasını içeren dosya grubu getirmek için son tam ya da fark geri yükleme kesintisiz bir günlüğü yedekleri zinciri uygulanmış olması gerekir.

  • Çevrimiçi sayfa geri yükleme yüklemesi yüklemesi

    De SQL Server 2005 Enterprise Edition ve sonraki sürümleri, koşullar izin verdiğinizde, geri yüklemeler otomatik olarak gerçekleştirilmesini çevrimiçi sayfa.Veritabanı için bir sayfa geri yükleniyor, dosya grubu da dahil olmak üzere, çevrimiçi iken çoğu durumda, bozuk bir sayfa geri yüklenebilir.Çevrimiçi sayfa geri yükleme yüklemesi yüklemesi donanım hatası bozuk sayfalar için kullanışlıdır.

    Bazen, bozuk bir sayfa çevrimdışı geri yükleme gerektirebilir.Örneğin, kritik belirli sayfalara zarar veritabanı başlatılmasını engelliyor.Bu gibi durumlarda, çevrimdışı geri yükleme kullanılmalıdır.

    Not

    meta veriler güncelleştirmek bir çevrimiçi geri yükleme çalışır ve kritik bir sayfa söz konusu ise, bu güncelleştirme başarısız olabilir.Geri yükleme, çevrimdışı, çevrimiçi geri yükleme girişimi başarısız olursa, gerçekleştirilmelidir.

Sayfa geri yükleme yararlanır geliştirilmiş sayfa-düzey (sayfa sağlama dahil olmak üzere) hata ve izlemede SQL Server 2005 ve sonraki sürümleri.Onay toplamak veya Yırtık yazma tarafından bozulmuş olarak algılanan sayfaları bozuk sayfalar, sayfaları belirterek geri bir geri deyim.Sayfa geri yükleme geri yükleme yalnızca birkaç bozuk sayfalar için hazırlanmıştır.Bir geri yüklemeyi belirtilen her sayfası deyim belirtilen yedek kümesinden bir sayfa ile değiştirilir.Veritabanı ile tutarlı bir duruma geri yüklenen sayfaların kurtarılması gerekiyor.Yalnızca açıkça belirtilen sayfaların geri yüklenir.

Sayfa geri yükleme sınırlamaları

Yalnızca veritabanı sayfaları geri yüklenebilir.Sayfa geri yükleme aşağıdaki geri yüklemek için kullanılamaz:

  • İşlem günlüğü

  • Ayırma sayfaları: Genel ayırma Haritası (gam) sayfaları, paylaşılan genel ayırma Haritası (sgam) sayfaları ve sayfa boş alanı (pfs) sayfaları.Daha fazla bilgi için bkz: Uzantı ayırmaları ve boş alan Yönetimi.

  • Sayfa 0 tüm veri dosyalarının (dosya önyükleme sayfa)

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

  • Tam metin kataloğu

Tek bir sayfa geri, var tam Veritabanı yedeklemesi veya tam dosya veya dosya grubu yedek kullanmanız gerekir.

Not

geri yükleme yüklenen sayfa meta veriler sayfaları gibi özel bir durum ise, çevrimiçi sayfa geri yükleme yüklemesi yüklemesi başarısız olur.Bu gibi durumlarda, bir çevrimdışı çalışın sayfa geri yükleme yüklemesi.

Sayfa geri yükleme gereksinimleri

sayfa geri yükleme yüklemesi yüklemesi yüklemesi aşağıdaki gereksinimleri aşağıdaki gibidir:

  • Veritabanlarının tam kullanmanız gerekir ya da toplu günlük kurtarma modeli.Yığın-günlüklenen modelini kullanıyorsanız, bazı sorunlar mevcut.Daha fazla bilgi için aşağıdaki bölüme bakın.

  • Sayfa salt okunur filegroups geri yüklenemez.Bir dosya grubu salt okunur hale getirmeye başarısız olur, aynı anda geçmeden sayfa geri yükleme yüklemesi yüklemesi yüklemesi saat dosya grubu içinde.

  • Geri yükleme sırası ile tam, başlaması gereken dosya veya dosya grubu yedek.

  • sayfa geri yükleme yüklemesi yüklemesi yüklemesi günlüğü yedekleri geçerli günlük dosyası kadar kesintisiz bir zinciri gerektirir ve böylece sayfanın en fazla duruma tüm uygulanmaları gerekir tarih geçerli günlük dosyası ile.

  • Bir dosya geri yükleme sırası gibi her geri adım için daha fazla sayfa ekleyebilirsiniz ileri sarma küme.

  • Bir veritabanı yedek ve sayfa geri yükleme yüklemesi yüklemesi aynı anda çalıştırılamaz saat.

Toplu Kaydedilmiş kurtarma modeli ve sayfa geri yükleme

Kullanan bir veritabanı için toplu günlük kurtarma modeli, sayfa geri yükleme yüklemesi yüklemesi aşağıdaki ek koşullar vardır:

  • Çevrimdışı veriler günlüğüne veri dosya grubu veya sayfa çevrimdışı durumdayken yedekleme toplu kaydedilmiş verileri için sorunlu çünkü.Herhangi bir çevrimdışı sayfa günlük yedekleme engelleyebilirsiniz.Bu durumda, düşünün dbcc ONARIM kullanarak bu en son geri yükleme'den daha az veri kaybına neden olabilir çünkü yedek.

  • Yoksa bir günlük yedeği , hatalı bir sayfa bir yığın-günlüklenen veritabanı karşılaştığında, CONTINUE_AFTER_ERROR ile belirtilen sürece başarısız olur.

  • Sayfa geri yükleme genellikle yığın-günlüklenen kurtarma ile çalışmaz.

    sayfa geri yükleme yüklemesi yüklemesi gerçekleştirmek için iyi bir yöntem olacaktır küme veritabanı tam kurtarma modeli ve günlük yedeği deneyin.günlük yedeği çalışırsa, sayfa geri yükleme yüklemesi yüklemesi işlemine devam edebilirsiniz.günlük yedeği başarısız olur, ya da günlük yedeklemeden sonra iş kaybetmek zorunda ya da denemek zorunda çalışan dbcc REPAIR_ALLOW_DATA_LOSS seçeneği ile çalıştırılması gerekir.

Sayfa geri yükleme için temel sözdizimi

restore database deyim içinde bir sayfayı belirtmek için sayfa içeren dosyanın dosya kimliği ve sayfa sayfa kimliği gerekir.Gerekli sözdizimi aşağıdaki gibidir:

restore database veritabanı_adı

   PAGE ='file:page [ ,...n ]' [ ,...n ]

   FROM <backup_device> [ ,...n ]

NORECOVERY İLE

Sayfa seçeneği parametreler hakkında daha fazla bilgi için bkz: Bağımsız değişkenlerini (Transact-sql) geri yükleme.restore database Sözdizimi hakkında daha fazla bilgi için bkz: RESTORE (Transact-SQL).

Bir sayfa geri yükleme yordamı

sayfa geri yükleme yüklemesi yüklemesi yüklemesi için temel adımlar şunlardır:

  1. Sayfa bozuk sayfalar kimliklerinin geri alın.Sağlama toplamı veya bozuk yazma hata sayfaları belirtmek için gerekli bilgileri sağlayarak sayfa Kimliği döndürür.Bozuk sayfa sayfa Kimliğini aramak için aşağıdaki kaynaklardan birini kullanın.

  2. sayfa geri yükleme yüklemesi yüklemesi yüklemesi tam veritabanı, dosya veya Web sayfası içeren dosya grubu yedek başlatın.restore database deyim içinde sayfa yan tümce tümce sayfa geri yüklenecek kimliklerini tüm sayfaları listelemek için kullanın.

    PAGE ='file:page [ ,...n ]'

  3. En son farklarını uygulanır.

  4. Sonraki günlüğü yedeklerini uygulayın.

  5. Yeni bir oluşturmak günlük yedeği geri yüklenen sayfaların son SSN içeren veritabanını, başka bir deyişle, son sayfa geri noktası çevrimdışı duruma.yineleme son SSN, sıradaki ilk geri yükleme bir parçası olarak küme olan hedef SSN.Çevrimiçi ileri sarmak içeren sayfa dosyasının SSN yineleme hedef durduramayabilirsiniz.Geçerli yineleme hedef dosyasının SSN bilgi edinmek için bkz: redo_target_lsn sütun , sys.master_files.Daha fazla bilgi için bkz: sys.master_files (Transact-sql).

  6. Yeni geri yükleme günlük yedeği.Bu yeni günlük yedeği uygulanan sayfa geri yükleme yüklemesi yüklemesi işlemi tamamlandıktan sonra sayfaları kullanılabilir.

Not

Bu sıra bir dosyaya paraleldir geri yükleme yükleme sırası.De olgu, sayfa geri yüklemesi yüklemesi ve dosya geri yükleme her ikisi de gerçekleştirilmesi aynı dizisinin bir parçası.

Örnek

Aşağıdaki örnek dört bozuk sayfa dosyası yükler B ile NORECOVERY.İleri, iki günlük yedeğiler ile uygulanır NORECOVERYve ardından ile sonradan alınan günlük yedeği, hangi geri ile RECOVERY.

Önemli notÖnemli

Bozuk sayfalar kritik veritabanı meta veriler, bir çevrimdışı sayfası depoluyorsanız geri yükleme yükleme sırası gerekli olabilir.Çevrimdışı geri yükleme gerçekleştirmek için yedeklemek WITH norecovery işlem günlüğü.

Aşağıdaki örnek, bir çevrimiçi geri yükleme gerçekleştirir.Örnekte, dosya dosya Kimliğini B olan 1, ve kimlikleri bozuk sayfa sayfa 57, 202, 916, ve 1016.

RESTORE DATABASE <database> PAGE='1:57, 1:202, 1:916, 1:1016'
   FROM <file_backup_of_file_B> 
   WITH NORECOVERY;
RESTORE LOG <database> FROM <log_backup> 
   WITH NORECOVERY;
RESTORE LOG <database> FROM <log_backup> 
   WITH NORECOVERY; 
BACKUP LOG <database> TO <new_log_backup> 
RESTORE LOG <database> FROM <new_log_backup> WITH RECOVERY;
GO