Aracılığıyla paylaş


Belirli bir noktaya geri yükleme gerçekleştirme

Belirli bir noktaya geri yükleme (PITR) kullanarak bir veritabanını daha önce saklama süresi içinde başka bir veritabanının kopyası olarak oluşturun. Bu makalede, Azure Arc tarafından etkinleştirilen SQL Yönetilen Örneği'da bir veritabanının belirli bir noktaya geri yüklemesinin nasıl gerçekleştirildiği açıklanır.

Belirli bir noktaya geri yükleme işlemi veritabanını:

  • Mevcut veritabanından
  • Azure Arc tarafından etkinleştirilen aynı SQL Yönetilen Örneği yeni bir veritabanına

Önceden yapılandırılmış bir bekletme ayarı içinde veritabanını belirli bir noktaya geri yükleyebilirsiniz. Azure Arc tarafından etkinleştirilen bir SQL Yönetilen Örneği bekletme ayarını aşağıdaki gibi de kontrol edebilirsiniz:

Doğrudan bağlı mod için:

az sql mi-arc show --name <SQL instance name> --resource-group <resource-group>
#Example
az sql mi-arc show --name sqlmi --resource-group myresourcegroup

Dolaylı bağlı mod için:

az sql mi-arc show --name <SQL instance name> --k8s-namespace <SQL MI namespace> --use-k8s
#Example
az sql mi-arc show --name sqlmi --k8s-namespace arc --use-k8s

Şu anda belirli bir noktaya geri yükleme bir veritabanını geri yükleyebilir:

  • Bir örnekteki mevcut veritabanından
  • Aynı örnekteki yeni bir veritabanına

Otomatik Yedeklemeler

Azure Arc tarafından etkinleştirilen SQL Yönetilen Örneği yerleşik otomatik yedeklemeler özelliği etkindir. Yeni bir veritabanı oluşturduğunuzda veya geri yüklediğinizde, Azure Arc tarafından etkinleştirilen SQL Yönetilen Örneği hemen tam yedekleme başlatır ve değişiklik ve işlem günlüğü yedeklemelerini otomatik olarak zamanlar. SQL yönetilen örneği bu yedeklemeleri dağıtım sırasında belirtilen depolama sınıfında depolar.

Belirli bir noktaya geri yükleme, veritabanının saklama süresi içinde belirli bir noktaya geri yüklenmesini sağlar. Veritabanını belirli bir noktaya geri yüklemek için Azure Arc özellikli veri hizmetleri yedekleme dosyalarını belirli bir sırada uygular. Örneğin:

  1. Tam yedekleme
  2. Değişiklik yedeği
  3. Bir veya daha fazla işlem günlüğü yedeklemesi

Point-in-time restore

Şu anda tam yedeklemeler haftada bir, değişiklik yedeklemeleri 12 saatte bir, işlem günlüğü yedeklemeleri ise 5 dakikada bir alınıyor.

Elde Tutma Dönemi

Azure Arc tarafından etkinleştirilen yeni bir SQL Yönetilen Örneği için varsayılan saklama süresi yedi gündür ve 0 veya 1-35 günlük değerlerle ayarlanabilir. Bekletme süresi, SQL yönetilen örneğinin dağıtımı sırasında özelliğini belirterek --retention-days ayarlanabilir. Yapılandırılan saklama süresinden eski yedekleme dosyaları otomatik olarak silinir.

az CLI kullanarak belirli bir noktadan veritabanı oluşturma

az sql midb-arc restore --managed-instance <SQL managed instance> --name <source DB name> --dest-name <Name for new db> --k8s-namespace <namespace of managed instance> --time "YYYY-MM-DDTHH:MM:SSZ" --use-k8s
#Example
az sql midb-arc restore --managed-instance sqlmi1 --name Testdb1 --dest-name mynewdb --k8s-namespace arc --time "2021-10-29T01:42:14.00Z" --use-k8s

Veritabanını gerçekten geri yüklemeden geri yükleme işleminizi doğrulamak için seçeneğini de kullanabilirsiniz --dry-run .

az sql midb-arc restore --managed-instance <SQL managed instance> --name <source DB name> --dest-name <Name for new db> --k8s-namespace <namespace of managed instance> --time "YYYY-MM-DDTHH:MM:SSZ" --use-k8s --dry-run
#Example
az sql midb-arc restore --managed-instance sqlmi1 --name Testdb1 --dest-name mynewdb --k8s-namespace arc --time "2021-10-29T01:42:14.00Z" --use-k8s --dry-run

kubectl kullanarak belirli bir noktadan veritabanı oluşturma

  1. Kubernetes yerel araçlarıyla belirli bir noktaya geri yükleme gerçekleştirmek için kullanabilirsiniz kubectl. Görev belirtimi yaml dosyası oluşturun. Örneğin:

    apiVersion: tasks.sql.arcdata.microsoft.com/v1
    kind: SqlManagedInstanceRestoreTask                 
    metadata:                                       
      name: myrestoretask20220304
      namespace: test                              
    spec:                                           
      source:                                       
        name: miarc1                                
        database: testdb                            
      restorePoint: "2021-10-12T18:35:33Z"          
      destination:                                  
        name: miarc1                           
        database: testdb-pitr
      dryRun: false  
    
  2. Özellikleri aşağıdaki gibi düzenleyin:

    1. name: Her özel kaynak (CR) için benzersiz dize. Kubernetes tarafından gereklidir.
    2. namespace: Örneğin bulunduğu Kubernetes ad alanı.
    3. source: ... name: Kaynak örneğin adı.
    4. source: ... database: Geri yüklemenin uygulanacağı kaynak veritabanının adı.
    5. restorePoint: UTC tarih saatindeki geri yükleme işlemi için belirli bir noktaya.
    6. destination: ... name: Hedef Arc özellikli SQL yönetilen örneğinin adı. Şu anda belirli bir noktaya geri yükleme yalnızca Arc SQL yönetilen örneğinde desteklenir. Bu, kaynak SQL yönetilen örneğiyle aynı olmalıdır.
    7. destination: ... database: Geri yüklemenin uygulanacağı yeni veritabanının adı.
  3. Belirli bir noktaya geri yüklemeyi başlatmak için bir görev oluşturun. Aşağıdaki örnek, içinde myrestoretask20220304.yamltanımlanan görevi başlatır.

    kubectl apply -f myrestoretask20220304.yaml
    
  4. Geri yükleme görevi durumunu aşağıdaki gibi denetleyin:

    kubectl get sqlmirestoretask -n <namespace>
    

Geri yükleme görevi durumu PITR ilerleme durumuna göre yaklaşık 10 saniyede bir güncelleştirilir. Durum, 'den Waiting veya'a RestoringFailedilerlerCompleted.

Azure Data Studio kullanarak belirli bir noktadan veritabanı oluşturma

Veritabanını Azure Data Studio'dan aşağıdaki gibi belirli bir noktaya geri yükleyebilirsiniz:

  1. Azure Data Studio'yu başlatma
  2. Araçlar'da açıklandığı gibi gerekli Arc uzantılarına sahip olduğunuzdan emin olun.
  3. Azure Arc veri denetleyicisine Bağlan
  4. Veri denetleyicisi düğümünü genişletin, örneğe sağ tıklayın ve Yönet'i seçin. Azure Data Studio, SQL yönetilen örnek panosunu başlatır.
  5. Panoda Yedeklemeler sekmesine tıklayın
  6. SQL yönetilen örneğinde ve en eski ve en son geri yükleme zamanı pencerelerinde veritabanlarının listesini ve Geri Yükleme'yi başlatmak için bir simge görmeniz gerekir
  7. Geri yüklemek istediğiniz veritabanının simgesine tıklayın. Azure Data Studio sağ tarafa doğru bir dikey pencere başlatır
  8. Dikey pencerede gerekli girişi sağlayın ve Geri Yükle'ye tıklayın

İlerlemeyi izleme

Geri yükleme başlatıldığında Kubernetes kümesinde tam, değişiklik ve günlük yedeklemelerinin gerçek geri yükleme işlemlerini yürüten bir görev oluşturulur. Bu etkinliğin ilerleme durumu Kubernetes kümenizden aşağıdaki gibi izlenebilir:

kubectl get sqlmirestoretask -n <namespace>
#Example
kubectl get sqlmirestoretask -n arc

Görev üzerinde komutunu çalıştırarak kubectl describe görevin daha fazla ayrıntısını alabilirsiniz. Örneğin:

kubectl describe sqlmirestoretask <nameoftask> -n <namespace>

Bekletme süresini yapılandırma

Azure Arc tarafından etkinleştirilen bir SQL Yönetilen Örneği bekletme süresi, özgün ayarından aşağıdaki gibi yeniden yapılandırılabilir:

Uyarı

Geçerli saklama süresini azaltırsanız, yeni saklama süresinden daha eski olan noktalara geri yükleme özelliğini kaybedersiniz. Yeni saklama süresi içinde PITR sağlamak için artık gerekli olmayan yedeklemeler silinir. Geçerli saklama süresini artırırsanız, yeni saklama süresi içinde zaman içinde eski noktalara geri yükleme olanağı hemen elde etmeyin. Sistem yedeklemeleri daha uzun süre saklamaya başladığından, zaman içinde bu özelliği kazanırsınız.

--retention-period SQL Yönetilen Örneği-Azure Arc için aşağıdaki gibi değiştirilebilir. Aşağıdaki komut hem hem de directindirect bağlı modlar için geçerlidir.

az sql mi-arc update  --name <SQLMI name> --k8s-namespace <namespace>  --use-k8s --retention-days <retentiondays>

Örneğin:

az sql mi-arc update  --name sqlmi --k8s-namespace arc  --use-k8s --retention-days 10

Otomatik yedeklemeleri devre dışı bırakma

Azure Arc tarafından etkinleştirilen belirli bir SQL Yönetilen Örneği örneği için yerleşik otomatik yedeklemeleri devre dışı bırakmak için özelliğini aşağıdaki gibi 0 olarak ayarlayabilirsiniz--retention-days. Aşağıdaki komut hem hem de directindirect modlar için geçerlidir.

Uyarı

Azure Arc tarafından etkinleştirilen bir SQL Yönetilen Örneği için Otomatik Yedeklemeleri devre dışı bırakırsanız, yapılandırılan tüm Otomatik Yedeklemeler silinir ve belirli bir noktaya geri yükleme özelliğini kaybedersiniz. Gerekirse otomatik yedeklemeleri yeniden başlatmak için özelliğini değiştirebilirsiniz retention-days .

az sql mi-arc update  --name <SQLMI name> --k8s-namespace <namespace>  --use-k8s --retention-days 0

Örneğin:

az sql mi-arc update  --name sqlmi --k8s-namespace arc  --use-k8s --retention-days 0

Yedeklemeleri izleme

Yedeklemeler, veritabanının adı olan <dbname> klasör altında /var/opt/mssql/backups/archived/<dbname>/<datetime> depolanır ve <datetime> her tam yedeklemenin başlangıcı için UTC biçiminde bir zaman damgası olur. Tam yedekleme her başlatıldığında, bu klasörün içindeki tam geri ve sonraki tüm değişiklik ve işlem günlüğü yedekleriyle yeni bir klasör oluşturulur. En güncel tam yedekleme ve sonraki değişiklik ve işlem günlüğü yedeklemeleri klasör altında /var/opt/mssql/backups/current/<dbname><datetime> depolanır.

Sınırlamalar

Azure Arc tarafından etkinleştirilen SQL Yönetilen Örneği belirli bir noktaya geri yükleme aşağıdaki sınırlamalara sahiptir:

  • Belirli bir noktaya geri yükleme, örnek düzeyi özelliği değil veritabanı düzeyi özelliğidir. Belirli bir noktaya geri yükleme ile tüm örneği geri yükleyemezsiniz.
  • Yalnızca yedeklemenin alındığı Azure Arc tarafından etkinleştirilen aynı SQL Yönetilen Örneği geri yükleyebilirsiniz.

Azure Arc tarafından etkinleştirilen SQL Yönetilen Örneği Özellikleri ve Özellikleri hakkında daha fazla bilgi edinin

Veri Denetleyicisi oluşturarak başlayın

Azure Arc tarafından etkinleştirilen bir SQL Yönetilen Örneği oluşturma