Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure CLI, Komut Satırı'ndan veya betikler aracılığıyla Azure kaynakları oluşturmak ve yönetmek için kullanılır. Bu makalede, Azure VM'deki bir SQL veritabanını yedekleme ve Azure CLI kullanarak isteğe bağlı yedeklemeleri tetikleme açıklanmaktadır. Bu eylemleri Azure portalını kullanarak da gerçekleştirebilirsiniz.
Bu makalede, Azure VM'de zaten yüklü bir SQL veritabanınız olduğu varsayılır. (Azure CLI kullanarak da vm oluşturabilirsiniz).
Bu makalede şunları nasıl yapacağınızı öğreneceksiniz:
- Kurtarma Hizmetleri deposu oluştur
- SQL server'ı kaydet ve üzerinde veritabanlarını keşfet
- SQL veritabanında yedeklemeyi etkinleştirme
- İsteğe bağlı yedekleme başlatma
Azure VM'de SQL için şu anda desteklenen senaryolara bakın.
Önkoşullar
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz. Azure Cloud Shell'i kullanmaya başlama.
CLI referans komutlarını yerel olarak çalıştırmayı tercih ediyorsanız, Azure CLI'yi yükleyin. Windows veya macOS üzerinde çalışıyorsanız, Azure CLI'yi bir Docker konteynerinde çalıştırmayı düşünün. Daha fazla bilgi için Azure CLI'nin bir Docker konteynerında nasıl çalıştırılacağını inceleyin.
Yerel bir kurulum kullanıyorsanız, az login komutunu kullanarak Azure CLI'ye giriş yapın. Kimlik doğrulama işlemini tamamlamak için, terminalinizde görüntülenen adımları takip edin. Diğer oturum açma seçenekleri için bkz. Azure CLI kullanarak Azure'da kimlik doğrulaması.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma ve yönetme.
Yüklü olan sürümü ve bağımlı kütüphaneleri bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Kurtarma Hizmetleri deposu oluştur
Kurtarma Hizmetleri kasası, Azure VM'leri veya Azure VM'lerinde çalışan iş yükleri (örneğin, SQL veya HANA veritabanları) gibi her korumalı kaynağın yedekleme verilerini depolayan mantıksal bir kapsayıcıdır. Koruma altındaki bir kaynak için yedekleme işi çalıştığında Kurtarma Hizmetleri kasasında bir kurtarma noktası oluşturulur. Daha sonra bu kurtarma noktalarından birini kullanarak verileri dilediğiniz zaman geri yükleyebilirsiniz.
az backup vault create komutuyla bir Kurtarma Hizmetleri kasası oluşturun. Korumak istediğiniz VM'nin kaynak grubunu ve konumunu kullanın. Azure CLI kullanarak Windows VM ve Linux VM oluşturmayı öğrenin.
Bu makale için şunları kullanacağız:
- SQLResourceGroup adlı bir kaynak grubu
- testSQLVM adlı bir VM
- westus2 konumundaki kaynaklar.
SQLVault adlı bir kasa oluşturmak için aşağıdaki komutu çalıştırın.
az backup vault create --resource-group SQLResourceGroup \
--name SQLVault \
--location westus2
Varsayılan olarak, Kurtarma Hizmetleri Kasası coğrafi yedekli depolama olarak ayarlanmıştır. Geo-Redundant depolama alanı, birincil bölgeden yüzlerce mil uzakta olsa bile yedekleme verilerinizin ikincil bir Azure bölgesine çoğaltılmasını sağlar. Depolama yedekliliği ayarının değiştirilmesi gerekiyorsa az backup vault backup-properties set komutunu kullanın.
az backup vault backup-properties set \
--name SQLVault \
--resource-group SQLResourceGroup \
--backup-storage-redundancy "LocallyRedundant/GeoRedundant"
Kasanın başarıyla oluşturulup oluşturulmadığını doğrulamak için az backup vault list komutunu kullanın. Yanıt şu şekilde görünür:
Location Name ResourceGroup
--------- --------------- -------------
westus2 SQLVault SQLResourceGroup
SQL Server'ı kaydetme ve koruma
SQL Server'ı Kurtarma Hizmetleri kasasına kaydetmek için az backup container register komutunu kullanın. VMResourceId , SQL'i yüklemek için oluşturduğunuz VM'nin kaynak kimliğidir.
az backup container register --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--backup-management-type AzureWorkload \
--resource-id VMResourceId
Uyarı
VM kasayla aynı kaynak grubunda yoksa SQLResourceGroup , kasanın oluşturulduğu kaynak grubunu kullanır.
SQL sunucusunu kaydetmek, tüm geçerli veritabanlarını otomatik olarak bulur. Ancak, gelecekte eklenebilecek yeni veritabanlarını bulmak için Kayıtlı SQL sunucusuna eklenen yeni veritabanlarını bulma bölümüne bakın.
SQL örneğinin kasanıza başarıyla kaydedilip kaydedilmediğini doğrulamak için az backup container list komutunu kullanın. Yanıt şu şekilde görünür:
Name Friendly Name Resource Group Type Registration Status
------------------------------------------------------ -------------- -------------------- --------- ----------------------
VMAppContainer;Compute;SQLResourceGroup;testSQLVM testSQLVM SQLResourceGroup AzureWorkload Registered
Uyarı
Yukarıdaki çıktıdaki sütun adı kapsayıcı adına başvurur. Bu kapsayıcı adı, yedeklemeleri etkinleştirmek ve tetiklemeleri için sonraki bölümlerde kullanılır. Örneğin, VMAppContainer; Hesaplamak; SQLResourceGroup; testSQLVM.
SQL veritabanında yedeklemeyi etkinleştirme
az backup protectable-item list komutu, önceki adımda kaydettiğiniz SQL örneğinde bulunan tüm veritabanlarını listeler.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--backup-management-type AzureWorkload \
--protectable-item-type SQLDataBase
--output table
Yedeklemek istediğiniz veritabanını şu listede bulmalısınız:
Name Protectable Item Type ParentName ServerName IsProtected
----------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;master SQLDataBase MSSQLServer testSQLVM NotProtected
sqldatabase;mssqlserver;model SQLDataBase MSSQLServer testSQLVM NotProtected
sqldatabase;mssqlserver;msdb SQLDataBase MSSQLServer testSQLVM NotProtected
Şimdi sqldatabase;mssqlserver;master veritabanı için yedeklemeyi yapılandırın.
Veritabanındaki yedeklemeleri tek tek yapılandırmak ve koruma altına almak için az backup protection enable-for-azurewl komutunu kullanın. Kullanmak istediğiniz ilkenin adını belirtin. CLI kullanarak ilke oluşturmak için az backup policy create komutunu kullanın. Bu makalede testSQLPolicy ilkesini kullandık.
az backup protection enable-for-azurewl --resource-group SQLResourceGroup \
--vault-name SQLVault \
--policy-name SQLPolicy \
--protectable-item-name "sqldatabase;mssqlserver;master" \
--protectable-item-type SQLDataBase \
--server-name testSQLVM \
--workload-type SQLDataBase \
--output table
SQL AlwaysOn Kullanılabilirlik Grubunuz varsa ve kullanılabilirlik grubundaki korunabilir veri kaynağını belirlemek istiyorsanız aynı komutu kullanabilirsiniz. Burada, korunabilir öğe türü SQLAG'dir.
Yukarıdaki yedekleme yapılandırmasının tamam olup olmadığını doğrulamak için az backup job list komutunu kullanın. Çıkış şu şekilde görünür:
Name Operation Status Item Name Start Time UTC
------------------------------------ --------------- --------- ---------- -------------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 ConfigureBackup Completed master 2019-12-03T03:09:210831+00:00
az backup job list komutu, yedeklemeyi kaydetme, yapılandırma ve yedekleme verilerini silme gibi diğer işlemlere ek olarak, korunan veritabanında çalıştırılan veya çalışmakta olan tüm yedekleme işlerini (zamanlanmış veya isteğe bağlı) listeler.
Uyarı
Azure Backup, Azure VM'de çalışan bir SQL veritabanını yedeklerken yaz saati değişiklikleri için otomatik olarak ayar yapmaz.
Politikayı gerektiği durumlarda manüel olarak değiştirin.
Otomatik korumayı etkinleştirme
Sorunsuz yedekleme yapılandırması için gelecekte eklenen tüm veritabanları belirli bir ilkeyle otomatik olarak korunabilir. Otomatik korumayı etkinleştirmek için az backup protection auto-enable-for-azurewl komutunu kullanın.
Yönerge gelecekteki tüm veritabanlarını yedeklemek olduğundan, işlem SQLInstance düzeyinde gerçekleştirilir.
az backup protection auto-enable-for-azurewl --resource-group SQLResourceGroup \
--vault-name SQLVault \
--policy-name SQLPolicy \
--protectable-item-name "sqlinstance;mssqlserver" \
--protectable-item-type SQLInstance \
--server-name testSQLVM \
--workload-type MSSQL\
--output table
İsteğe bağlı yedekleme başlatma
İsteğe bağlı yedekleme tetikleme için az backup protection backup-now komutunu kullanın.
Uyarı
Bu yedeklemenin saklama süresi, çalıştırdığınız isteğe bağlı yedekleme türüne göre belirlenir.
- İsteğe bağlı tam yedeklemeleri en az 45 gün ve en fazla 99 yıl boyunca korur.
- Yalnızca tam isteğe bağlı kopya saklama için herhangi bir değeri kabul eder.
- Talep üzerine farklar, politika kapsamında ayarlanan zamanlanmış farkların tutulma ayarlarına göre yedeklemeyi korur.
- İsteğe bağlı günlük, politikada belirtilen zamanlanmış günlüklerin saklama süresine göre yedekleri tutar.
az backup protection backup-now --resource-group SQLResourceGroup \
--item-name sqldatabase;mssqlserver;master \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--backup-type Full
--retain-until 01-01-2040
--output table
Çıkış şu şekilde görünür:
Name ResourceGroup
------------------------------------ -------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 sqlResourceGroup
Yanıt size iş adını sağlar. az backup job show komutunu kullanarak iş durumunu izlemek için bu iş adını kullanabilirsiniz.
Sonraki Adımlar
- CLI kullanarak Azure VM'de SQL veritabanını geri yüklemeyi öğrenin.
- Azure portalını kullanarak Azure VM'de çalışan bir SQL veritabanını yedeklemeyi öğrenin.
İlgili içerik
- REST API aracılığıyla Azure Backup kullanarak Azure VM'lerindeki SQL server veritabanlarını yedekleyin.
- REST API ile Azure VM'lerindeki SQL Server veritabanlarını geri yükleyin.
- Azure portalı, Azure CLI, REST API ile Azure VM'lerindeki SQL server veritabanlarını yönetin.