Aracılığıyla paylaş


Geri yükleme ve kurtarma işlemine genel bakış (SQL Server)

Şunlar için geçerlidir: SQL Server

Bu makalede, SQL Server için veritabanı geri yükleme ve kurtarma işlemine genel bir bakış sağlanır.

Genel bakış

SQL Server veritabanını bir hatadan kurtarmak için, veritabanı yöneticisinin, mantıksal olarak doğru ve anlamlı bir geri yükleme sırasıyla bir dizi SQL Server yedeğini geri yüklemesi gerekir. SQL Server geri yükleme ve kurtarma işlemi, aşağıdaki gibi tüm veritabanının, veri dosyasının veya veri sayfasının yedeklerinden verileri geri yüklemeyi destekler:

  • Veritabanı (tam veritabanı geri yükleme)

    Tüm veritabanı geri yüklenir ve kurtarılır ve geri yükleme ve kurtarma işlemleri sırasında veritabanı çevrimdışı olur.

  • Veri dosyası (dosya geri yükleme)

    Veri dosyası veya dosya kümesi geri yüklenir ve kurtarılır. Bir dosya geri yükleme sırasında, dosyaları içeren dosya grupları geri yükleme sırasında otomatik olarak çevrimdışıdır. Çevrimdışı bir dosya grubuna erişme girişimleri hataya neden olur.

  • Veri sayfası (geri yükleme sayfası)

    Tam kurtarma modeli veya toplu günlüğe kaydedilen kurtarma modeli altında tek tek sayfaları geri yükleyebilirsiniz. Sayfa geri yüklemeleri, dosya grubu sayısından bağımsız olarak herhangi bir veritabanında gerçekleştirilebilir.

SQL Server yedekleme ve geri yükleme, desteklenen tüm işletim sistemlerinde çalışır. Desteklenen işletim sistemleri hakkında bilgi için bkz.donanım ve yazılım gereksinimleri . SQL Server'ın önceki sürümlerinden yedekleme desteği hakkında bilgi için, RESTOREUyumluluk Desteği bölümüne bakın.

Geri yükleme senaryoları

SQL Server'da geri yükleme senaryosu, bir veya daha fazla yedeklemeden verileri geri yükleme ve ardından veritabanını kurtarma işlemidir. Desteklenen geri yükleme senaryoları, veritabanının kurtarma modeline ve SQL Server sürümüne bağlıdır.

Aşağıdaki tabloda, farklı kurtarma modelleri için desteklenen olası geri yükleme senaryoları tanıtılır.

Geri yükleme senaryosu Basit kurtarma modeli altında Tam/toplu günlüklenmiş kurtarma modelleri kapsamında
Tam veritabanı geri yükleme Temel geri yükleme stratejisi. Tam veritabanı geri yükleme işlemi yalnızca tam veritabanı yedeklemesini geri yüklemeyi ve kurtarmayı içerebilir. Alternatif olarak, tam bir veritabanı geri yükleme işlemi, tam veritabanı yedeğinin geri yüklenmesini ve ardından değişiklik yedeğinin geri yüklenmesini ve kurtarılmasını içerebilir.

Daha fazla bilgi için bkz. Complete Database Restores (Simple Recovery Model).
Temel geri yükleme stratejisi. Tam veritabanı geri yükleme işlemi, tam veritabanı yedeklemesini ve isteğe bağlı olarak değişiklik yedeğini (varsa) geri yüklemeyi ve ardından sonraki tüm günlük yedeklemelerini (sırayla) geri yüklemeyi içerir. Veritabanının komple geri yüklenmesi, son kayıt yedeğinin kurtarılıp geri yüklenmesiyle tamamlanır (KURTARMA İLE GERI YÜKLEME).
Daha fazla bilgi için bkz. Tam Veritabanı Geri Yüklemeleri (Tam Kurtarma Modeli)
Dosya geri yükleme 1 Veritabanının tamamını geri yüklemeden bir veya daha fazla bozuk salt okunur dosyayı geri yükleyin. Dosya geri yükleme yalnızca veritabanında en az bir salt okunur dosya grubu varsa kullanılabilir. Veritabanının tamamını geri yüklemeden bir veya daha fazla dosyayı geri yükler. Dosya geri yükleme işlemi veritabanı çevrimdışıyken veya SQL Server'ın bazı sürümleri için, veritabanı çevrimiçi kalırken gerçekleştirilebilir. Dosya geri yükleme sırasında, geri yüklenen dosyaları içeren dosya grupları her zaman çevrimdışıdır.
Sayfa geri yükleme Uygulanamaz Bir veya daha fazla bozuk sayfayı geri yükler. Sayfa geri yükleme, veritabanı çevrimdışıyken veya bazı SQL Server sürümleri için veritabanı çevrimiçi kalırken gerçekleştirilebilir. Sayfa geri yükleme sırasında, geri yüklenen sayfalar her zaman çevrimdışıdır.

Geçerli günlük dosyasına kadar kesintisiz bir günlük yedekleme zinciri mevcut olmalı ve sayfa up-to'ı geçerli günlük dosyasıyla güncel hale getirmek için bunların tümü uygulanmalıdır.
Daha fazla bilgi için bkz. Sayfaları Geri Yükleme (SQL Server).
Parçalı geri yükleme 1 Veritabanını birincil ve tüm okuma/yazma, ikincil dosya gruplarından başlayarak dosya grubu düzeyinde aşamalı olarak geri yükleyin ve kurtarın. Veritabanını birincil dosya grubundan başlayarak dosya grubu düzeyinde aşamalı olarak geri yükleyin ve kurtarın.

Daha fazla bilgi için bkz. ParçaLı Geri Yüklemeler (SQL Server)

1 Çevrimiçi geri yükleme yalnızca Enterprise sürümünde desteklenir.

Veritabanını geri yükleme adımları

Dosya geri yükleme gerçekleştirmek için Veritabanı Altyapısı iki adım yürütür:

  • Eksik veritabanı dosyalarını oluşturur.

  • Verileri yedekleme cihazlarından veritabanı dosyalarına kopyalar.

Veritabanı geri yükleme işlemi gerçekleştirmek için Veritabanı Altyapısı üç adım yürütür:

  • Henüz yoksa veritabanı ve işlem günlüğü dosyalarını oluşturur.

  • Veritabanının yedekleme medyasından tüm verileri, günlükleri ve dizin sayfalarını veritabanı dosyalarına kopyalar.

  • kurtarma işlemiolarak bilinen işlem günlüğünü uygular.

Verilerin nasıl geri yükleneceğine bakılmaksızın, veritabanı kurtarılmadan önce SQL Server Veritabanı Altyapısı tüm veritabanının mantıksal olarak tutarlı olmasını garanti eder. Örneğin, bir dosyayı geri yüklerseniz, dosya veritabanıyla tutarlı bir duruma gelecek kadar ileriye taşınana kadar onu kurtaramaz veya çevrimiçi hale getiremezsiniz.

Dosya veya sayfa geri yüklemenin avantajları

Tüm veritabanı yerine dosyaları veya sayfaları geri yüklemek ve kurtarmak aşağıdaki avantajları sağlar:

  • Daha az verinin geri yüklenmesi, verileri kopyalayıp kurtarmak için gereken süreyi azaltır.

  • SQL Server'da dosyaları veya sayfaları geri yüklemek, geri yükleme işlemi sırasında veritabanındaki diğer verilerin çevrimiçi kalmasına izin verebilir.

Kurtarma ve işlem günlüğü

Çoğu geri yükleme senaryosunda, bir işlem günlüğü yedeklemesi uygulamak ve SQL Server Veritabanı Altyapısı'nın veritabanının çevrimiçi olması için kurtarma işlemi çalıştırmasına izin vermek gerekir. Kurtarma, SQL Server tarafından her veritabanı için işlem açısından tutarlı veya temiz bir durumda başlamak için kullanılan işlemdir.

Yük devretme veya başka bir beklenmedik kapanma durumu gerçekleşirse, veritabanları bazı değişikliklerin arabellek önbelleğinden veri dosyalarına hiç yazılmadığı bir durumda kalabilir. Ayrıca, veri dosyalarında tamamlanmamış işlemlerden kaynaklanan bazı değişiklikler de olabilir. BIR SQL Server örneği başlatıldığında, her veritabanının son veritabanı denetim noktasıtemel alınarak üç aşamadan oluşan bir kurtarma işlemi çalıştırır:

  • 1. Aşama, son denetim noktasının ne olduğunu belirlemek için işlem günlüğünü analiz eden ve Kirli Sayfa Tablosu (DPT) ve Etkin İşlem Tablosu (ATT) oluşturan Çözümleme Aşaması. DPT, veritabanının kapatıldığı sırada kirli olan sayfaların kayıtlarını içerir. ATT, veritabanının temiz bir şekilde kapatılmadığı sırada aktif olan işlemlerin kayıtlarını içerir.

  • 2. Aşama, veritabanı kapatıldığı sırada veri dosyalarına yazılamamış olabilecek günlükte kaydedilen her değişikliği ileriye doğru getiren Yineleme Aşaması. Veritabanının bütüncül kurtarılması için gereken minimum günlük sırası numarası (minLSN), Veritabanı Destek Tablosu'nda (DPT) bulunur ve tüm kirli sayfalarda gereken yeniden işleme işlemlerinin başlangıcını belirler. Bu aşamada SQL Server Veritabanı Altyapısı, işlenen işlemlere ait tüm kirli sayfaları diske yazar.

  • Aşama 3, veritabanının bütünlüğünün korunmasını sağlamak için ATT'de bulunan tamamlanmamış işlemleri geri döndüren Geri Alma Aşaması'dur. Geri alma işleminden sonra veritabanı çevrimiçi olur ve veritabanına başka işlem günlüğü yedeklemesi uygulanamıyor.

Her veritabanı kurtarma aşamasının ilerleme durumu hakkındaki bilgiler SQL Server hata günlüğünekaydedilir. Veritabanı kurtarma ilerleme durumu, Genişletilmiş Olaylar kullanılarak da izlenebilir. Daha fazla bilgi için, veritabanı kurtarma ilerleme durumu için yeni genişletilmiş olaylar hakkında bilgi veren blog gönderisine bakın.

Not

Bir Piecemeal geri yükleme senaryosunda, dosya yedeklemesi oluşturulmadan önce salt okunur bir dosya grubu salt okunur durumdaysa, günlük yedeklemelerinin dosya grubuna uygulanması gereksizdir ve dosya geri yükleme işlemiyle atlanır.

Not

SQL Server hizmeti başlatıldıktan sonra, örneğin Always On yük devretme kümesi örneğinin yük devretmesi veya yerinde yeniden başlatıldıktan sonra, SQL Server Enterprise Edition yineleme aşamasından sonra veritabanını çevrimiçi duruma getirebilir ve Geri Alma Aşaması yürütülmeye devam eder. Bu, Hızlı Kurtarma olarak bilinir. Ancak veritabanı çevrimiçi duruma geçtiğinde ancak SQL Server hizmeti yeniden başlatılmadığında Hızlı Kurtarma kullanılamaz. Örneğin, ALTER DATABASE AdventureWorks SET ONLINE; yürütülmesi, kurtarma işleminin üç aşaması tamamlanana kadar veritabanının okuma-yazma durumunda olmasını sağlamaz.

Kurtarma modelleri ve desteklenen geri yükleme işlemleri

Bir veritabanı için kullanılabilen geri yükleme işlemleri, kurtarma modeline bağlıdır. Aşağıdaki tabloda, kurtarma modellerinin her biri belirli bir geri yükleme senaryosunu destekleyip desteklemediğini ve hangi ölçüde desteklediğini özetlemektedir.

Geri yükleme işlemi Tam kurtarma modeli Toplu günlüğe kaydedilen kurtarma modeli Basit kurtarma modeli
Veri kurtarma Tam kurtarma (günlük varsa). Veri kaybına maruz kalma. Son tam veya değişiklik yedeklemeden bu yana tüm veriler kaybolur.
Belirli bir noktaya geri yükleme Günlük yedeklemelerin kapsadığı herhangi bir zaman. Günlük yedeklemesi toplu günlüğe kaydedilen değişiklikler içeriyorsa izin verilmez. Desteklenmez.
Dosya geri yükleme 1 Tam destek. Bazen. 2 Yalnızca salt okunur ikincil dosyalar için kullanılabilir.
Sayfa geri yükleme 1 Tam destek. Bazen. 2 Hiç kimse.
Parçalı (dosya grubu düzeyinde) geri yükleme 1 Tam destek. Bazen. 2 Yalnızca salt okunur ikincil dosyalar için kullanılabilir.

1 Yalnızca SQL Server'ın Enterprise sürümünde kullanılabilir

2 Gerekli koşullar için, bu makalenin devamında yer alan Basit Kurtarma Modelialtında Geri Yükleme Kısıtlamaları bölümüne bakın.

Önemli

Veritabanının kurtarma modeli ne olursa olsun, SQL Server yedeklemesi, yedeklemeyi oluşturan sürümden daha eski bir SQL Server Veritabanı Altyapısı sürümüne geri yüklenemez.

Basit kurtarma modeli altında geri yükleme senaryoları

Basit kurtarma modeli, geri yükleme işlemlerine aşağıdaki kısıtlamaları uygular:

Bu kısıtlamalardan herhangi biri kurtarma gereksinimleriniz için uygun değilse, tam kurtarma modelini kullanmayı göz önünde bulundurmanızı öneririz. Daha fazla bilgi için bkz. Yedeklemeye genel bakış (SQL Server).

Önemli

Veritabanının kurtarma modeli ne olursa olsun, BIR SQL Server yedeklemesi, yedeklemeyi oluşturan sürümden daha eski bir SQL Server sürümü tarafından geri yüklenemez.

Toplu kaydedilmiş kurtarma modeli altında geri yükleme

Bu bölümde, yalnızca tam kurtarma modeline ek olarak tasarlanmış olan toplu günlüğe kaydedilen kurtarma modeline özgü geri yükleme hususları ele alınmaktadır.

Not

Toplu günlüğe kaydedilen kurtarma modeline giriş için bkz. İşlem günlüğü.

Genel olarak, toplu günlük kurtarma modeli, tam kurtarma modeline benzer ve tam kurtarma modeli için açıklanan bilgiler her ikisi için de geçerlidir. Ancak, belirli bir noktaya kurtarma ve çevrimiçi geri yükleme toplu günlüğe kaydedilen kurtarma modelinden etkilenir.

Belirli bir zamandaki kurtarma için kısıtlamalar

Toplu kayıtlı kurtarma modeli altında alınan günlük yedeği, toplu kayıtlı değişiklikler içeriyorsa, belirli bir noktaya kadar kurtarma işlemine izin verilmez. Toplu değişiklikler içeren bir günlük yedeğinde belli bir anlık kurtarma gerçekleştirmeye çalışmak, geri yükleme işleminin başarısız olmasına neden olur.

Çevrimiçi geri yükleme kısıtlamaları

Çevrimiçi geri yükleme dizisi yalnızca aşağıdaki koşullar karşılandığında çalışır:

  • Geri yükleme sırası başlamadan önce tüm gerekli günlük yedeklemeleri alınmış olmalıdır.

  • Çevrimiçi geri yükleme sırası başlatılmadan önce toplu değişiklikler yedeklenmelidir.

  • Veritabanında toplu değişiklikler varsa, tüm dosyaların ya çevrimiçi ya da işlevsiz (yani, artık veritabanının bir parçası olmaması) gerekir.

Bu koşullar karşılanmazsa çevrimiçi geri yükleme sırası başarısız olur.

Not

Çevrimiçi geri yükleme başlatmadan önce tam kurtarma modeline geçmenizi öneririz. Daha fazla bilgi için bkz. Kurtarma modelleri (SQL Server).

Çevrimiçi geri yükleme gerçekleştirme hakkında bilgi için bkz. Çevrimiçi Geri Yükleme (SQL Server).

Veritabanı Kurtarma Danışmanı (SQL Server Management Studio)

Veritabanı Kurtarma Danışmanı, en iyi doğru geri yükleme sıralarını uygulayan geri yükleme planları oluşturma işlemini kolaylaştırır. Müşteriler tarafından istenen birçok bilinen veritabanı geri yükleme sorunu ve geliştirmesi giderildi. Veritabanı Kurtarma Danışmanı tarafından sunulan önemli geliştirmeler şunlardır:

  • geri yükleme planı algoritması : Özellikle karmaşık geri yükleme senaryoları için geri yükleme planları oluşturmak için kullanılan algoritma önemli ölçüde geliştirilmiştir. Belirli bir noktadaki geri yüklemelerde dal oluşturma senaryoları gibi birçok özel durum, SQL Server'ın önceki sürümlerinden daha verimli bir şekilde ele alınır.

  • Belirli bir noktaya geri yükleme: Veritabanı Kurtarma Danışmanı, veritabanını belirli bir noktaya geri yüklemeyi büyük ölçüde basitleştirir. Görsel yedekleme zaman çizelgesi belirli bir noktaya geri yükleme desteğini önemli ölçüde artırır. Bu görsel zaman çizelgesi, veritabanını geri yüklemek için hedef kurtarma noktası olarak uygun bir zaman noktası belirlemenize olanak tanır. Zaman çizelgesi, çatallanmış kurtarma yolunda (kurtarma çatalları üzerinde ilerleyen bir yol) dolaşmayı kolaylaştırır. Belirli bir belirli bir noktaya geri yükleme planı, hedef noktanıza (tarih ve saat) geri yüklemeyle ilgili yedeklemeleri otomatik olarak içerir. Daha fazla bilgi için bkz. SQL Server Veritabanını Belirli Bir Noktaya Geri Yükleme (Tam Kurtarma Modeli).

Daha fazla bilgi için Veritabanı Kurtarma Danışmanı hakkında aşağıdaki SQL Server Yönetilebilirlik bloglarına bakın:

Hızlandırılmış veritabanı kurtarma

Hızlandırılmış veritabanı kurtarma (ADR) SQL Server 2019(15.x) sürümünden itibaren kullanılabilir. ADR, Azure SQL Veritabanı, Azure SQL Yönetilen Örneği, Azure Synapse Analytics (yalnızca ayrılmış SQL havuzu) ve Microsoft Fabric'teki SQL veritabanında da kullanılabilir. Hızlandırılmış veritabanı kurtarma, sql server veritabanı altyapısını kurtarma işleminiyeniden tasarlayarak, özellikle uzun süre çalışan işlemlerin varlığında veritabanı kullanılabilirliğini büyük ölçüde iyileştirir. ADR'nin etkinleştirildiği bir veritabanı, yük devretme veya diğer beklenmeyen kapatma işlemlerinden sonra kurtarma işlemini önemli ölçüde daha hızlı tamamlar. ADR etkinleştirildiğinde, iptal edilen uzun süre çalışan işlemlerin geri döndürülmesi anında tamamlanır.

SQL Server 2019 (15.x) ve sonraki sürümlerinde aşağıdaki söz dizimini kullanarak veritabanı başına ADR'yi etkinleştirebilirsiniz:

ALTER DATABASE [<db_name>] SET ACCELERATED_DATABASE_RECOVERY = ON;

Not

ADR her zaman Azure SQL Veritabanı, Azure SQL Yönetilen Örneği, Azure Synapse Analytics (yalnızca ayrılmış SQL havuzu) ve Microsoft Fabric'teki SQL veritabanında etkinleştirilir.