Share via


Sayfalar (SQL Server) geri yükleme

Sayfa geri yükleme açıklanmıştır SQL Server 2012kullanarak SQL Server Management Studioya Transact-SQL. Bir sayfa geri yükleme hedefi, bir veya daha fazla bozuk sayfalar tüm veritabanını geri yüklemeden geri yüklemektir. Tipik olarak, adaylar geri sayfaları "şüpheli" olarak işaretlenmiş sayfaya erişirken karşılaşılan bir hata nedeniyle. Şüpheli sayfaları içinde tanımlanır suspect_pages içinde tablo msdb veritabanı.

Bu Konuda

  • Başlamadan Önce

    Ne zaman bir sayfa geri yükleme yararlıdır?

    Sınırlamalar ve Kısıtlamalar

    Öneriler

    Güvenlik

  • Kullanarak sayfaları geri yüklemek için:

    SQL Server Management Studio

    Transact-SQL

Başlamadan Önce

Ne zaman bir sayfa geri yükleme yararlıdır?

Bir sayfa geri yükleme izole bozuk sayfalar onarmak için tasarlanmıştır. Geri yükleme ve kurtarma birkaç tek tek sayfaları bir dosya geri yükleme, geri yükleme işlemi sırasında çevrimdışı veri miktarını azaltarak daha hızlı olabilir. Bir dosyadaki birkaç sayfa geri yüklemeniz gerekirse, ancak dosyanın tamamını geri yüklemek için genellikle daha etkilidir. Sayfaları bir aygıtta bir sürü bekleyen bir aygıtı hata gösteriyorsa, örneğin, dosya, büyük olasılıkla başka bir konuma geri yükleme ve cihazın onarımı düşünün.

Ayrıca, tüm sayfa hataları, bir geri yükleme gerektirir. Önbelleğe alınmış veri, veri hesaplayarak çözümlenebilen bir ikincil dizin gibi bir sorun oluşur. Veritabanı Yöneticisi ikincil dizin bırakır ve onu yeniden oluşturur, örneğin, bozuk veriler sabit rağmen gibi gösterilir değil suspect_pages tablosu.

Sınırlamalar ve Kısıtlamalar

  • Sayfa geri yükleme uygulandığı SQL Servertam veya toplu oturum kurtarma modeli kullanan veritabanları. Sayfa geri yükleme yalnızca okuma ve yazma filegroups için desteklenir.

  • 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ı: Global ayırma göster (gam) sayfalarda paylaşılan genel ayırma göster (sgam) ve sayfa boş alanı (pfs) sayfaları.

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

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

    • Tam metin kataloğu

  • 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ı: Global ayırma göster (gam) sayfalarda paylaşılan genel ayırma göster (sgam) ve sayfa boş alanı (pfs) sayfaları.

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

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

    • Tam metin kataloğu

  • Toplu oturum kurtarma modeli kullanan bir veritabanı için sayfa geri yükleme aşağıdaki ek koşullar vardır:

    • Veri filegroup veya sayfa çevrimdışı durumdayken yedekleme toplu verileri için sorunlu çünkü çevrimdışı verilerini günlüğe kaydedilmez. Herhangi bir çevrimdışı sayfa günlük yedekleme engelleyebilirsiniz. Çünkü bu en son yedekleme geri yükleme daha az veri kaybına neden olabilir bu durumda, dbcc onarım, kullanmayı düşünün.

    • Günlük yedekleme toplu veritabanı bozuk sayfa karşılaşırsa, WITH CONTINUE_AFTER_ERROR belirtilmediği sürece başarısız olur.

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

      Tam kurtarma modeli veritabanı ayarlamak ve günlük yedekleme sayfa geri yükleme gerçekleştirmek için en iyi yöntem olduğunu. Günlük yedekleme çalışırsa, sayfa geri yükleme ile devam edebilirsiniz. Günlük yedekleme başarısız olur, sen da-si olmak-e günlük yedeklemeden sonra çalışmanızı kaybetmenize ya da sen-si olmak-e doğru denemek koşma dbcc REPAIR_ALLOW_DATA_LOSS seçeneği ile çalıştırılmalıdır.

Öneriler

  • Sayfa geri yükleme senaryoları:

    • Çevrimdışı sayfa geri yükleme
      Tüm sürümleri SQL Server 2005ve sonraki sürümleri desteği geri yükleme sayfalarına veritabanı çevrimdışı olduğunda. Çevrimdışı sayfa geri yükleme veritabanının bozuk sayfaları geri ise, çevrimdışı. Geri yükleme sırası sonunda, veritabanı çevrimiçi gelir.

    • Çevrimiçi sayfa geri yükleme
      SQL Server 2005 Enterprise Editionve rağmen çevrimdışı geri yükleme veritabanı şu anda çevrimdışı ise kullandıkları çevrimiçi sayfa geri yükleme sonraki sürümlerini destekler. Veritabanı için bir sayfa geri filegroup dahil olmak üzere çevrimiçi kalır çoğu durumlarda, bozuk bir sayfa geri yüklenebilir. Sayfa geri genellikle bir veya daha fazla onun ikincil filegroups çevrimdışı olsa bile birincil filegroup çevrimiçi olduğunda, çevrimiçi olarak gerçekleştirilir. Bazen, ancak bozuk bir sayfa bir çevrimdışı geri yükleme gerektirebilir. Örneğin, kritik belirli sayfalara zarar veritabanı başlatılmasını engelleyebilir.

      Dikkat notuDikkat

      Bozuk sayfalar kritik veritabanı meta verileri depoluyorsanız, meta verileri için gereken güncelleştirmeleri çevrimiçi sayfa geri yükleme denemesi sırasında başarısız olabilir. Bu durumda, bir çevrimdışı sayfa geri yükleme gerçekleştirebilirsiniz, ancak ilk oluşturmanız gerekir bir tail günlük yedekleme (tarafından restore WITH norecovery kullanarak hareket günlük yedekleme).

  • Sayfa geri yükleme avantajı geliştirilmiş sayfa düzeyinde hata bildirimi (sayfa sağlama toplamlarını dahil) alır ve bu izleme de tanıtıldı SQL Server 2005. Onay özetleme veya yırtılmış yazma tarafından bozulmuş olarak algılanan sayfaları bozuk sayfalar, bir sayfa geri yükleme işleminin geri yüklenebilir. Yalnızca açıkça belirtilen sayfaların geri yüklenir. Belirtilen her sayfa belirtilen veri yedeği bu sayfanın kopyasını değiştirilir.

    Sonraki günlük yedeklemeler geri onlar kurtarılmış en az bir sayfa içeren veritabanı dosyaları için uygulanır. Günlük yedeklemeler kırılmamış bir zincir, geçerli günlük dosyasını sayfaya ileri içeren filegroup getirmek için son tam veya fark geri uygulanmalıdır. Dosya geri yükleme gibi bir tek günlük Yinele geçişi ile rulo ileri kümesi gelişmiş. Başarılı olmak bir sayfa geri yükleme için veritabanı ile tutarlı bir duruma geri yüklenen sayfaların kurtarıldı gerekir.

Güvenlik

İzinler

Geri yüklenen veri tabanı yoksa, RESTORE deyimini yürütebilmek için kullanıcının CREATE DATABASE izinleri olması gerekir. Veritabanı varsa, RESTORE izinleri varsayılan olarak sysadmin ve dbcreator sabit sunucu rolünün üyelerine ve veritabanının sahibine (dbo) verilir (FROM DATABASE_SNAPSHOT seçeneği için, veritabanının her zaman olması gerekir).

RESTORE izinleri, üyeleri hakkında sunucuda her zaman hemen bilgi bulunabilen rollere verilir. Sabit veritabanı rolü üyeliği yalnızca veritabanı erişilebilir ve hasarsız kontrol edilmesi, ki değildir, çünkü her zaman durumda geri yürütüldüğünde, üyelerinin db_owner sabit veritabanı rolü geri yükleme izinleri yok.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

SQL Server Management Studio Kullanarak

Başlangıç SQL Server 2012, SQL Server Management Studioçekmek sayfa geri yükler.

Sayfa geri yükleme

  1. Uygun sunucuya bağlanın SQL Server Veritabanı Altyapısı, buna Object Explorer, sunucu ağacı sunucu adını tıklatın.

  2. Genişletme veritabanları. Veritabanına bağlı bir kullanıcı veritabanını seçin veya genişletme Sistem veritabanlarıve sistem veritabanı seçin.

  3. Veritabanını sağ tıklatıp görevleri, Gelin gerive'yi sayfa, hangi açar Restore Page iletişim kutusu.

    • Geri yükleme
      Bu bölümde, aynı işlevi görür geri üzerine (Genel sayfası) veritabanını geri yükle.

      • Veritabanı
        Geri yükleme için veritabanını belirtir. Yeni bir veritabanı girin veya aşağı açılan listeden varolan bir veritabanını seçin. Sunucuda, Sistem veritabanları hariç tüm veritabanları liste içerir ana ve tempdb.
      Dikkat notuDikkat

      Parola korumalı bir yedeğini geri yüklemek için kullanmanız gereken geri deyimi.

    • Tail günlük yedekleme
      Bir dosya adı seçin veya girin yedekleme aygıtı nerede orada tail günlük yedekleme veritabanı saklı.

    • Yedekleme kümeleri
      Bu bölümde yedekleme kümeleri içinde restorasyon ilgili görüntüler.

      Üstbilgisini

      Değerleri

      Ad

      Yedekleme kümesi adı.

      Bileşen

      Yedeklenen bileşen: veritabanı, dosyasını, veya <boş > (için işlem günlüklerini).

      Tür

      Gerçekleştirilen yedekleme türünü: tam, fark, veya İşlem günlüğü.

      Sunucu

      Adı Veritabanı AltyapısıYedekleme işlemi gerçekleştirilen örneği.

      Veritabanı

      Yedekleme işlemi katılan veritabanının adı.

      Konum

      Birimin yedekleme konumunu ayarlayın.

      İlk lsn

      Günlük sıra numarası (lsn) yedekleme kümesindeki ilk hareket. Boş dosya yedekleme.

      Son lsn

      Günlük sıra numarası (lsn) yedekleme kümesi son işlem. Boş dosya yedekleme.

      Denetim noktası lsn

      Günlük sıra numarası (lsn) en son denetim noktası yedek oluşturulduğu zaman.

      Tam lsn

      Günlük sıra numarası (lsn) en son tam veritabanı yedeklemesi.

      Başlangıç tarihi

      Tarih ve Saat yedekleme işlemi başladı, istemcinin bölgesel ayarını sunulan.

      Bitiş tarihi

      Tarih ve Saat yedekleme işlemini bitirdiğinde, istemcinin bölgesel ayarını sunulan.

      Boyutu

      Yedekleme boyutu bayt olarak ayarlayın.

      Kullanıcı adı

      Yedekleme işlemi gerçekleştiren kullanıcının adı.

      Süre sonu

      Tarih ve Saat yedekleme kümesi sona erecek.

      Tıklayın doğrulama sayfasını gerçekleştirmek için gereken yedek dosyaları işlemi geri bütünlüğünü denetleyin.

  4. Seçilen doğru veritabanı bozuk sayfaları tanımlamak için veritabanı kutusunda, tıklayın Veritabanı sayfaları kontrol. Bu uzun süren bir işlemdir.

    Dikkat notuDikkat

    Bozuk belirli sayfaların geri yüklemek için tıklatın Ekle girip Dosya kimliği ve Sayfa Kımlığı sayfaların geri yüklenecek.

  5. Sayfa kılavuzu, geri yüklenecek sayfaların tanımlamak için kullanılır. Başlangıçta, bu kılavuz sayfasından doldurulan suspect_pages sistem tablosu. Eklemek veya sayfa kılavuzundan kaldırmak için tıklatın Ekle veya kaldırma. Daha fazla bilgi için, bkz. Suspect_pages tablo (SQL Server) yönetme.

  6. Yedekleme kümelerini yedek ayarlar varsayılan kılavuz listelerini geri planı. İsterseniz tıklayın olun yedekleri okunabilir ve onları geri yüklemeden yedekleme kümeleri eksiksiz doğrulamak için. Daha fazla bilgi için, bkz. restore VERIFYONLY (Transact-sql).

    Sayfaları

  7. Sayfaları kılavuzunda listelenen sayfalardan geri yüklemek için tıklayın Tamam.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Transact-SQL'i Kullanma

restore database deyimi 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 <database_name>

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

FROM <backup_device> [ ,... n ]

WITH NORECOVERY

Sayfa seçeneği Parametreler hakkında daha fazla bilgi için bkz: restore değişkenlerini (Transact-sql). restore database Sözdizimi hakkında daha fazla bilgi için bkz: RESTORE (Transact-SQL).

Sayfa geri yükleme

  1. Geri yüklenecek kimlikleri bozuk sayfaları sayfa edinin. Sağlama toplamı veya bozuk yazma hata sayfaları belirtmek için gerekli bilgileri sağlayarak sayfa kimliği döner. Bozuk sayfa sayfa Kımlığı kadar aramak için aşağıdaki kaynaklardan birini kullanın.

    Kaynak sayfa kimliği

    Konu

    msdb...suspect_pages

    Suspect_pages tablo (SQL Server) yönetme

    Hata günlüğü

    SQL Server hata günlüğünü görüntüleme

    Olay izleme

    Monitoring Events

    DBCC

    DBCC (Transact-sql)

    WMI sağlayıcısı

    Sunucu olayları kavramları için WMI sağlayıcısı

  2. Bir sayfa geri yükleme tam veritabanı, dosya veya sayfayı içeren filegroup yedekleme ile başlayın. restore database deyimi ve sayfası yan sayfa tüm sayfaların geri yüklenecek kimliklerini listelemek için kullanın.

  3. En son diferansiyel uygulanır.

  4. Sonraki günlük yedeklemeler uygulanır.

  5. Yeni bir günlük yedekleme geri yüklenen sayfaların son lsn, en son geri yüklenen sayfayı çevrimdışı duruma noktası içeren veritabanı oluşturun. Sıradaki ilk geri bir parçası olarak ayarlandığında, son lsn lsn Yinele hedeftir. Sayfayı içeren dosyanın çevrimiçi top ileriye lsn Yinele hedefe durdurmak mümkün. Geçerli yineleme hedef dosyasının lsn öğrenmek için bkz: redo_target_lsn sütununda sys.master_files. Daha fazla bilgi için, bkz. sys.master_files (Transact-sql).

  6. Yeni günlük yedekleme geri yükleme. Bu yeni günlük yedek uygulandıktan sonra sayfa geri yükleme tamamlandıktan ve sayfaları artık kullanılabilir.

    [!NOT]

    Bu dosya geri yükleme sırası için benzerdir. Aslında, sayfa geri yükleme ve dosya geri yükleme hem de aynı sıra bir parçası olarak yapılabilir.

Örnek (Transact-sql)

Aşağıdaki örnek dört bozuk sayfa dosyası yükler Bile NORECOVERY. İleri, iki günlük yedeklemeler ile uygulanır NORECOVERY, hangi ile geri tail günlük yedekleme ile takip RECOVERY. Bu örnek, bir çevrimiçi geri yükleme gerçekleştirir. Örnekte, dosya dosya kimliğini Bise 1, ve kimlikleri bozuk sayfaları 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

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Ayrıca bkz.

Başvuru

Veritabanı (genel sayfası) geri yükleme

(Seçenekler sayfa) veritabanını geri yükle

RESTORE (Transact-SQL)

Kavramlar

Işlem günlüğü yedekleri uygulayın

Suspect_pages tablo (SQL Server) yönetme

Yedekleme ve geri yükleme SQL Server veritabanları