Aracılığıyla paylaş


Azure VM'lerinde SQL Server veritabanlarını geri yükleme

Bu makalede, Azure Backup hizmetinin bir Azure Backup Kurtarma Hizmetleri kasasına yedeklediği bir Azure sanal makinesinde (VM) çalışan bir SQL Server veritabanının nasıl geri yükleneceği açıklanmaktadır.

Bu makalede SQL Server veritabanlarının nasıl geri yükleneceği açıklanmaktadır. Daha fazla bilgi için bkz. Azure VM'lerinde SQL Server veritabanlarını yedekleme.

Uyarı

Desteklenen yapılandırmalar ve senaryolar hakkında daha fazla bilgi edinmek için SQL yedekleme destek matrisine bakın.

Bir zamana veya kurtarma noktasına geri yükleyin

Azure Backup, Azure VM'lerinde çalışan SQL Server veritabanlarını aşağıdaki gibi geri yükleyebilir:

  • İşlem günlüğü yedeklemelerini kullanarak belirli bir tarih ve saati (saniyesine kadar) geri yükleyin. Azure Backup, seçilen zamana göre geri yüklemek için gereken uygun tam değişiklik yedeklemesini ve günlük yedekleme zincirini otomatik olarak belirler.
  • Belirli bir kurtarma noktasını geri yüklemek için belirli bir tam veya farklı yedeği geri yükleyin.

Önkoşulları geri yükleme

Veritabanını geri yüklemeden önce aşağıdakilere dikkat edin:

  • Veritabanını aynı Azure bölgesindeki bir SQL Server örneğine geri yükleyebilirsiniz.
  • Hedef sunucunun kaynakla aynı kasaya kaydedilmesi gerekir. Yedekleri farklı bir kasaya geri yüklemek istiyorsanız Abonelikler Arası Geri Yükleme'yi etkinleştirin.
  • Bir sunucuda çalışan birden çok örneğiniz varsa tüm örneklerin çalışır durumda olması gerekir. Aksi takdirde, veritabanını geri yüklemeniz için sunucu hedef sunucular listesinde görünmez. Daha fazla bilgi için sorun giderme adımlarına bakın.
  • TDE ile şifrelenmiş veritabanını başka bir SQL Server'a geri yüklemek için önce sertifikayı hedef sunucuya geri yüklemeniz gerekir.
  • CDC özellikli veritabanları , Dosya olarak geri yükle seçeneği kullanılarak geri yüklenmelidir.
  • Dosya olarak geri yükle seçeneğini kullanarak "ana" veritabanını geri yüklemenizi ve ardından T-SQL komutlarını kullanarak geri yüklemenizi kesinlikle öneririz.
  • Geri yüklemeyi tetiklemeden önce tüm sistem veritabanları (model, msdb) için SQL Server Agent hizmetini durdurun.
  • Bu veritabanlarından herhangi birine bağlantı almaya çalışabilecek tüm uygulamaları kapatın.
  • Ana veritabanları için geri yükleme için Alternatif Konum seçeneği desteklenmez. Dosya olarak geri yükle seçeneğini kullanarak ana veritabanını geri yüklemenizi ve ardından komutları kullanarak T-SQL geri yüklemenizi öneririz.
  • ve msdbiçinmodel, geri yükleme için Alternatif Konum seçeneği yalnızca Geri Yüklenen veritabanı adı hedef veritabanı adından farklı olduğunda desteklenir. Hedef veritabanıyla aynı adı geri yüklemek istiyorsanız, Dosya olarak geri yükle seçeneğini kullanarak geri yüklemenizi ve ardından komutları kullanarak T-SQL geri yüklemenizi öneririz.

Veritabanını geri yükleme

Geri yüklemek için aşağıdaki izinlere ihtiyacınız vardır:

  • Geri yükleme yaptığınız kasada Yedekleme İşleci izinlerine sahip olmanız gerekiyor.
  • Yedeklenen kaynak VM'ye Katılımcı (yazma) erişimi.
  • Hedef VM'ye katkıda bulunan (yazma) erişimi:
    • Aynı VM'ye geri yüklüyorsanız, bu kaynak VM'dir.
    • Alternatif bir konuma geri yüklüyorsanız, bu yeni hedef VM'dir.

Aşağıdaki gibi geri yükle:

  1. Azure portalında Yedekleme merkezine gidin ve Geri Yükle'ye tıklayın.

    Geri yükleme işlemini başlatma işlemini gösteren ekran görüntüsü.

  2. Veri kaynağı türü olarak Azure VM'de SQL'i seçin, geri yükleneceği veritabanını seçin ve Devam'a tıklayın.

    Veri kaynağı türünü seçmeyi gösteren ekran görüntüsü.

  3. Yapılandırmayı Geri Yükle bölümünde verilerin geri yükleneceği yeri (veya nasıl) belirtin:

    • Alternatif Konum: Veritabanını alternatif bir konuma geri yükleyin ve özgün kaynak veritabanını koruyun.

    • Veritabanını yenile: Veritabanı verilerini özgün kaynakla aynı SQL Server örneğine geri yükleyiniz. Bu seçenek orijinal veritabanının üzerine yazar.

      Önemli

      Seçilen veritabanı bir Always On kullanılabilirlik grubuna aitse, SQL Server veritabanının üzerine yazılmasına izin vermez. Yalnızca Alternatif Konum kullanılabilir.

    • Dosya olarak geri yükleme: Veritabanı olarak geri yüklemek yerine, daha sonra SQL Server Management Studio kullanarak dosyaların bulunduğu herhangi bir makinede veritabanı olarak kurtarılabilir yedekleme dosyalarını geri yükleyin.

Alternatif konuma geri yükleme

  1. Yapılandırmayı Geri Yükle menüsünde, Geri Yükleneceği Yer'in altında Alternatif Konum'a tıklayın.

  2. Veritabanını geri yüklemek istediğiniz SQL Server adını ve örneğini seçin.

  3. Geri Yüklenen VERITABANı Adı kutusuna hedef veritabanının adını girin.

  4. Eğer varsa, seçili SQL örneğinde aynı adı taşıyan veritabanı zaten mevcutsa Üzerine yaz'ı seçin.

  5. Geri Yükleme Noktası'na tıklayın ve belirli bir noktaya geri yüklenip geri yüklenmeyeceğini veya belirli bir kurtarma noktasına geri yüklenip geri yüklenmeyeceğini seçin.

    Geri Yükleme Noktası'nın seçilmesini gösteren ekran görüntüsü.

    Belirli bir noktaya geri yüklemeyi gösteren ekran görüntüsü.

  6. Gelişmiş Yapılandırma menüsünde:

    • Geri yüklemeden sonra veritabanını çalışma dışı tutmak istiyorsanız NORECOVERY ile geri yükleme'yi etkinleştirin.

    • Hedef sunucuda geri yükleme konumunu değiştirmek istiyorsanız yeni hedef yollar girin.

      Hedef yolları girin

  7. Geri yüklemeyi tetikleme için Tamam'ı seçin. Bildirimler alanında geri yükleme ilerlemesini izleyin veya kasada Yedekleme İşleri görünümü altında izleyin.

    Uyarı

    Belirli bir noktaya geri yükleme yalnızca tam ve toplu günlüğe alınmış kurtarma modundaki veritabanları için günlüklerin yedeklerinde kullanılabilir.

Geri yükleme ve üzerine yazma

  1. Yapılandırmayı Geri Yükle menüsünde, Geri Yükleneceği Yer'in altında Db'nin> Üzerine YazTamam'ı seçin.

    Veritabanı İçin Üzerine Yaz Seçeneğini Seç

  2. Geri yükleme noktasını bölümünde, Günlükler (Belirli Bir Noktaya) seçeneğini belirli bir zamana geri yüklemek için seçin. Veya Tam ve Farklı seçeneğini belirleyip, belirli bir kurtarma noktasına geri yükleyebilirsiniz.

    Uyarı

    Belirli bir noktaya geri yükleme yalnızca tam ve toplu günlüğe alınmış kurtarma modundaki veritabanları için günlüklerin yedeklerinde kullanılabilir.

Dosyalar olarak geri yükle

Yedekleme verilerini veritabanı yerine .bak dosyaları olarak geri yüklemek için Dosya Olarak Geri Yükle'yi seçin. Dosyalar belirtilen bir yola bırakıldıktan sonra, bu dosyaları veritabanı olarak geri yüklemek istediğiniz herhangi bir makineye götürebilirsiniz. Bu dosyaları herhangi bir makineye taşıyabildiğiniz için artık verileri abonelikler ve bölgeler arasında geri yükleyebilirsiniz.

  1. Geri Yükleme yeri ve nasıl yapılır bölümündeDosya olarak geri yükle'yi seçin.

  2. Yedekleme dosyalarını geri yüklemek istediğiniz SQL Server adını seçin.

  3. Sunucudaki Hedef yolu'na, 2. adımda seçilen sunucudaki klasör yolunu girin. Bu, hizmetin gerekli tüm yedekleme dosyalarını döküm edeceği konumdur. Genellikle, ağ paylaşım yolu veya hedef yol olarak belirtilen bağlı bir Azure dosya paylaşımının yolu, aynı ağdaki diğer makinelerin veya üzerlerine bağlı olan aynı Azure dosya paylaşımının bu dosyalara daha kolay erişim sağlamasını mümkün kılar.

    Uyarı

    Veritabanı yedekleme dosyalarını hedef kayıtlı VM'ye bağlı bir Azure Dosya Paylaşımı'na geri yüklemek için NT AUTHORITY\SYSTEM'in dosya paylaşımına erişimi olduğundan emin olun. VM'ye bağlı AFS'ye okuma/yazma izinleri vermek için aşağıda verilen adımları gerçekleştirebilirsiniz:

    • PsExec -s cmd çalıştırarak NT AUTHORITY\SYSTEM kabuğuna girin
      • Çalıştır cmdkey /add:<storageacct>.file.core.windows.net /user:AZURE\<storageacct> /pass:<storagekey>
      • dir \\<storageacct>.file.core.windows.net\<filesharename> ile erişimi doğrula
    • Backup Vault'tan \\<storageacct>.file.core.windows.net\<filesharename> yol olarak dosya olarak geri yüklemeyi başlatma
      PsExec'i Sysinternals sayfasından indirebilirsiniz.
  4. Tamam'ı seçin.

    Dosya Olarak Geri Yükle'yi seçin

  5. Geri Yükleme Noktası'na tıklayın ve belirli bir noktaya geri yüklenip geri yüklenmeyeceğini veya belirli bir kurtarma noktasına geri yüklenip geri yüklenmeyeceğini seçin.

  6. Dosya olarak geri yükle'yi kullanarak SQL veritabanı belirli bir noktaya geri yükleme yaparken, Tam yedeklemedenseçilen belirli bir noktaya kadar tüm kurtarma noktalarını depolar. Ardından bu dosyaları SQL Server Management Studio kullanarak mevcut oldukları herhangi bir makinede veritabanı olarak kullanarak geri yükleyebilirsiniz.

    Hedef Yolda Geri Yüklenen Yedekleme Dosyaları

Belirli bir zaman noktasına geri yükleme

Geri yükleme türü olarak Günlükler 'i (Belirli Bir Nokta) seçtiyseniz aşağıdakileri yapın:

  1. Geri Yükleme Tarihi/Saati'nin altında takvimi açın. Takvimde, kurtarma noktaları içeren tarihler kalın yazıyla görüntülenir ve geçerli tarih vurgulanır.

  2. Kurtarma noktaları içeren bir tarih seçin. Kurtarma noktası olmayan tarihleri seçemezsiniz.

    Takvimi açma

  3. Bir tarih seçtikten sonra zaman çizelgesi grafiği, kullanılabilir kurtarma noktalarını sürekli aralıkta görüntüler.

  4. Zaman çizelgesi grafiğinde kurtarma için bir saat belirtin veya bir saat seçin. Ardından Tamam'ı seçin.

Dosya olarak kısmi geri yükleme

Azure Backup hizmeti, geri yükleme sırasında indirilecek dosya zincirine dosya olarak karar verir. Ancak içeriğin tamamını yeniden indirmek istemeyebileceğiniz senaryolar vardır.

Örneğin, haftalık tam yedekler, günlük fark yedekleri ve log dosyaları içeren bir yedekleme ilkeniz olduğunda ve belirli bir fark yedeği için dosyaları zaten indirdiğinizde. Bunun doğru kurtarma noktası olmadığını belirlediniz ve ertesi günün diferansiyelini indirmeye karar verdiniz. Artık başlangıç dosyasının tamamı elinizde olduğuna göre sadece değişiklik dosyasına ihtiyacınız var. Azure Backup tarafından sağlanan kısmi dosya olarak geri yükleme özelliği sayesinde artık tam değeri indirme zincirinden dışlayabilir ve yalnızca farkları indirebilirsiniz.

Yedekleme dosyası türlerini dışlama

ExtensionSettingsOverrides.json, SQL için Azure Backup hizmetinin birden çok ayarı için geçersiz kılmalar içeren bir JSON (JavaScript Nesne Gösterimi) dosyasıdır. "Dosya olarak Kısmi Geri Yükleme" işlemi için yeni bir JSON alanı RecoveryPointTypesToBeExcludedForRestoreAsFiles eklenmelidir. Bu alan, bir sonraki geri yükleme işleminde hangi kurtarma noktası türlerinin dosya olarak dışlanması gerektiğini belirten bir dize değeri içerir.

  1. Dosyaların indirileceği hedef makinede "C:\Program Files\Azure Workload Backup\bin" klasörüne gidin

  2. Henüz yoksa "ExtensionSettingsOverrides.JSON" adlı yeni bir JSON dosyası oluşturun.

  3. Aşağıdaki JSON anahtar değer çiftini ekleyin

    {
    "RecoveryPointTypesToBeExcludedForRestoreAsFiles": "ExcludeFull"
    }
    
  4. Hiçbir hizmetin yeniden başlatılması gerekmez. Azure Backup hizmeti, bu dosyada belirtildiği gibi geri yükleme zincirindeki yedekleme türlerini dışlamaya çalışır.

Yalnızca RecoveryPointTypesToBeExcludedForRestoreAsFiles geri yükleme sırasında dışlanacak kurtarma noktalarını gösteren belirli değerleri alır. SQL için bu değerler şunlardır:

  • ExcludeFull (Geri yükleme noktası zincirinde varsa değişiklik ve günlükler gibi diğer yedekleme türleri indirilir)
  • ExcludeFullAndDifferential (Geri yükleme noktası zincirinde varsa günlükler gibi diğer yedekleme türleri indirilir)
  • ExcludeFullAndIncremental (Geri yükleme noktası zincirinde varsa günlükler gibi diğer yedekleme türleri indirilir)
  • ExcludeFullAndDifferentialAndIncremental (Geri yükleme noktası zincirinde varsa işlem günlükleri gibi diğer yedekleme türleri indirilir)

Belirli bir geri yükleme noktasına geri yükleme

Geri yükleme türü olarak Tam & Değişiklik'i seçtiyseniz aşağıdakileri yapın:

  1. Listeden bir kurtarma noktası seçin ve geri yükleme noktası yordamını tamamlamak için Tamam'ı seçin.

    Tam kurtarma noktası seçme

    Uyarı

    Varsayılan olarak, son 30 güne ait kurtarma noktaları görüntülenir. Filtrele'yi seçip özel bir aralık seçerek 30 günden eski kurtarma noktalarını görüntüleyebilirsiniz.

Çok sayıda dosya içeren veritabanlarını geri yükleme

Veritabanındaki dosyaların toplam dize boyutu belirli bir sınırdan büyükse, Azure Backup veritabanı dosyalarının listesini farklı bir pit bileşeninde depolar, böylece geri yükleme işlemi sırasında hedef geri yükleme yolunu ayarlayamazsınız. Dosyalar bunun yerine SQL varsayılan yoluna geri yüklenir.

Veritabanını büyük dosyayla geri yükleme

SSMS kullanarak veritabanını .bak dosyasından kurtarma

Azure portalından geri yükleme yapılırken, veritabanı dosyalarını formatında geri yüklemek için .bak işlemini kullanabilirsiniz. Daha fazla bilgi edinin.

Dosyanın Azure sanal makinesine .bak geri yüklenmesi tamamlandığında, SSMS aracılığıyla TSQL komutlarını kullanarak geri yüklemeyi tetikleyebilirsiniz.   Veritabanı dosyalarını kaynak sunucudaki özgün yola geri yüklemek için, TSQL geri yükleme sorgusundan MOVE yan tümcesini kaldırın.   Örnek

  USE [master] 
  RESTORE DATABASE [<DBName>] FROM  DISK = N'<.bak file path>'

Uyarı

Hedef sunucuda aynı veritabanı dosyalarına sahip olmamanız gerekir (yeniden yerine koyarak geri yükleyin).  Ayrıca, dosya başlatma süresi ek yükünü azaltmak için hedef sunucuda anlık dosya başlatmayı etkinleştirebilirsiniz.

tr-TR: Veritabanı dosyalarını hedef geri yükleme sunucusundaki konumlarından taşımak için, MOVE yan tümcelerini kullanarak bir TSQL komutu oluşturabilirsiniz.

  USE [master] 
  RESTORE DATABASE [<DBName>] FROM  DISK = N'<.bak file path>'  MOVE N'<LogicalName1>' TO N'<TargetFilePath1OnDisk>',  MOVE N'<LogicalName2>' TO N'<TargetFilePath2OnDisk>' GO

Örnek

  USE [master] 
  RESTORE DATABASE [test] FROM  DISK = N'J:\dbBackupFiles\test.bak' WITH  FILE = 1,  MOVE N'test' TO N'F:\data\test.mdf',  MOVE N'test_log' TO N'G:\log\test_log.ldf',  NOUNLOAD,  STATS = 5 
  GO

Veritabanı için ikiden fazla dosya varsa, geri yükleme sorgusuna ek MOVE yan tümceler ekleyebilirsiniz. Veritabanı kurtarma için .bak dosyalarını kullanarak SSMS'yi de kullanabilirsiniz. Daha fazla bilgi edinin.

Uyarı

Büyük veritabanı kurtarma için TSQL deyimlerini kullanmanızı öneririz. Belirli veritabanı dosyalarının yerini değiştirmek istiyorsanız, Dosya Olarak Geri Yükle işlemi sırasında oluşturulan JSON biçimindeki veritabanı dosyalarının listesine bakın.

Bölge Dışı Geri Yükleme

Geri yükleme seçeneklerinden biri olan Bölgeler Arası Geri Yükleme (CRR), Azure VM'lerinde barındırılan SQL veritabanlarını eşleştirilmiş bir Azure bölgesi olan ikincil bir bölgede geri yüklemenize olanak tanır.

Özelliği kullanmaya başlamak için Başlamadan Önce bölümünü okuyun.

CRR'nin etkinleştirilip etkinleştirilmediğini görmek için Bölgeler Arası Geri Yüklemeyi Yapılandırma başlığındaki yönergeleri izleyin

İkincil bölgede yedekleme öğelerini görüntüleme

CRR etkinse, ikincil bölgedeki yedekleme öğelerini görüntüleyebilirsiniz.

  1. Portaldan Kurtarma Hizmetleri Kasası>Yedekleme öğeleri'ne gidin.
  2. İkincil bölgedeki öğeleri görüntülemek için İkincil Bölge'yi seçin.

Uyarı

Listede yalnızca CRR özelliğini destekleyen Yedekleme Yönetimi Türleri gösterilir. Şu anda yalnızca ikincil bölge verilerini ikincil bölgeye geri yükleme desteğine izin verilir.

İkincil bölgedeki yedekleme öğeleri

İkincil bölgedeki veritabanları

İkincil bölgede geri yükleme

İkincil bölge geri yükleme kullanıcı deneyimi, birincil bölge geri yükleme kullanıcı deneyimine benzer olacaktır. Geri yüklemenizi yapılandırmak için Yapılandırmayı Geri Yükle bölmesinde ayrıntıları yapılandırırken, yalnızca ikincil bölge parametrelerini sağlamanız istenir. İkincil bölgede bir kasa bulunmalı ve SQL sunucusu ikincil bölgedeki kasaya kayıtlı olmalıdır.

Nereden ve nasıl geri yüklenir

Geri yükleme devam ediyor bildirimi tetikle

Uyarı

  • Geri yükleme tetiklendikten sonra ve veri aktarımı aşamasında geri yükleme işi iptal edilemiyor.
  • Bölgeler arası geri yükleme işlemi gerçekleştirmek için gereken rol/erişim düzeyi, abonelikte Yedekleme Operatörü rolü ve kaynak ile hedef sanal makinelerde Katkıda Bulunan (yazma yetkisi) erişimidir. Yedekleme işlerini görüntülemek için , Yedekleme okuyucusu abonelikte gereken en düşük izindir.
  • İkincil bölgede kullanılabilir yedekleme verilerinin RPO değeri 12 saattir. Bu nedenle, CRR'yi açtığınızda, ikincil bölgenin RPO'su 12 saat + log sıklığı süresi (minimum 15 dakika olarak ayarlanabilir) olur.

Bölgeler arası geri yükleme için en düşük rol gereksinimleri hakkında bilgi edinin.

İkincil bölge geri yükleme işlerini izleme

  1. Azure portalında Yedekleme merkezi>Yedekleme İşleri'ne gidin.

  2. İkincil bölgedeki işleri görüntülemek için CrossRegionRestore için filtre işlemi.

    Filtrelenen Yedekleme işlerini gösteren ekran görüntüsü.

Çapraz Abonelik Geri Yükleme

Azure Backup artık SQL veritabanını geri yükleme noktasından herhangi bir aboneliğe (aşağıdaki Azure RBAC gereksinimlerine göre) geri yüklemenize olanak tanır. Varsayılan olarak Azure Backup, yedekleme noktalarının bulunduğu aynı aboneliğe geri yükler.

Abonelikler Arası Geri Yükleme (CSR) özelliğiyle, geri yükleme izinlerinizin olması durumunda kira hesabınız altındaki herhangi bir abonelik veya kasaya esnek bir şekilde geri yükleme yapabilirsiniz. CsR varsayılan olarak tüm Kurtarma Hizmetleri kasalarında (mevcut ve yeni oluşturulan kasalar) etkinleştirilir.

Uyarı

  • Kurtarma Hizmetleri kasasından Abonelikler Arası Geri Yükleme işlemini başlatabilirsiniz.
  • CSR yalnızca akış tabanlı yedekleme için desteklenir ve anlık görüntü tabanlı yedekleme için desteklenmez.
  • CSR ile Bölgeler Arası Geri Yükleme (CRR) desteklenmez.

Azure RBAC gereksinimleri

İşlem türü Yedekleme operatörü Kurtarma Hizmetleri kasası Alternatif işleç
Veritabanını geri yükleme veya dosya olarak geri yükleme Virtual Machine Contributor Yedeklenen kaynak sanal makine Yerleşik rol yerine aşağıdaki izinlere sahip özel bir rol düşünebilirsiniz:

- Microsoft.Compute/virtualMachines/write
- Microsoft.Compute/virtualMachines/read
Virtual Machine Contributor Veritabanının geri yükleneceği veya dosyaların oluşturulduğu hedef VM. Yerleşik rol yerine, aşağıdaki izinlere sahip özel bir rol düşünebilirsiniz:

- Microsoft.Compute/virtualMachines/write
- Microsoft.Compute/virtualMachines/read
Backup Operator Hedef Kurtarma Hizmetleri Bölümü

Varsayılan olarak CSR, Kurtarma Hizmetleri deposunda etkindir. Kurtarma Hizmetleri kasası geri yükleme ayarlarını güncelleştirmek için Özellikler>Abonelikler Arası Geri Yükleme'ye gidin ve gerekli değişiklikleri yapın.

SQL veritabanı için Kurtarma Hizmetleri kasasında Abonelikler Arası Geri Yükleme ayarlarının nasıl değiştirileceği ekran görüntüsü.

Sonraki Adımlar

Yönetme ve izleme Azure Backup tarafından yedeklenen SQL Server veritabanları.