Bagikan melalui


Mencadangkan database SQL di Azure VM menggunakan Azure CLI

Azure CLI digunakan untuk membuat dan mengelola sumber daya Azure dari Baris Perintah atau melalui skrip. Artikel ini menjelaskan cara mencadangkan database SQL di Azure VM dan memicu pencadangan sesuai permintaan menggunakan Azure CLI. Anda juga dapat melakukan tindakan ini menggunakan portal Azure.

Artikel ini mengasumsikan bahwa Anda sudah memiliki database SQL yang diinstal pada Azure VM. (Anda juga dapat membuat VM menggunakan antarmuka tingkat panggilan Azure).

Dalam artikel ini, Anda akan mempelajari cara:

  • Buat brankas Recovery Services
  • Mendaftarkan server SQL dan menemukan database di dalamnya
  • Mengaktifkan pencadangan di database SQL
  • Memicu pencadangan sesuai permintaan

Lihat skenario yang saat ini didukung untuk SQL di Azure VM.

Prasyarat

Buat brankas Recovery Services

Vault Layanan Pemulihan adalah kontainer logis yang menyimpan data cadangan untuk setiap sumber daya yang dilindungi, seperti Azure VM atau beban kerja yang berjalan di Azure VM - seperti database SQL atau HANA. Ketika pekerjaan pencadangan untuk sumber daya yang dilindungi berjalan, titik pemulihan dibuat di dalam brankas Layanan Pemulihan. Kemudian Anda dapat menggunakan salah satu titik pemulihan ini untuk memulihkan data ke titik waktu tertentu.

Buat vault Layanan Pemulihan dengan perintah az backup vault create. Gunakan lokasi dan grup sumber daya yang sama dengan VM yang ingin dilindungi. Pelajari cara membuat VM Windows dan VM Linux menggunakan Azure CLI.

Untuk artikel ini, kami akan menggunakan:

  • Grup sumber daya bernama SQLResourceGroup
  • VM bernama testSQLVM
  • Sumber daya di lokasi westus2.

Jalankan perintah berikut untuk membuat vault bernama SQLVault.

az backup vault create --resource-group SQLResourceGroup \
    --name SQLVault \
    --location westus2

Secara default, brankas Layanan Pemulihan diatur untuk penyimpanan Redundan Geografis. Penyimpanan Geo-Redundan memastikan data cadangan Anda direplikasi ke kawasan Azure sekunder yang berjarak ratusan mil dari kawasan utama. Jika pengaturan redundansi penyimpanan perlu diubah, gunakan perintah az backup vault backup-properties set.

az backup vault backup-properties set \
    --name SQLVault  \
    --resource-group SQLResourceGroup \
    --backup-storage-redundancy "LocallyRedundant/GeoRedundant"

Untuk memverifikasi apakah vault berhasil dibuat, gunakan perintah az backup vault list. Respons akan muncul sebagai:

Location   Name             ResourceGroup
---------  ---------------  -------------  
westus2    SQLVault     	SQLResourceGroup

Mendaftar dan melindungi SQL Server

Untuk mendaftarkan SQL Server dengan vault Layanan Pemulihan, gunakan perintah az backup container register. VMResourceId adalah ID sumber daya VM yang Anda buat untuk memasang SQL.

az backup container register --resource-group SQLResourceGroup \
    --vault-name SQLVault \
    --workload-type SQLDataBase \
    --backup-management-type AzureWorkload \
    --resource-id VMResourceId

Catatan

Jika VM tidak berada dalam grup sumber daya yang sama dengan vault, SQLResourceGroup akan menggunakan grup sumber daya tempat vault dibuat.

Mendaftarkan server SQL akan otomatis menemukan semua database saat ini. Namun, untuk menemukan database baru yang dapat ditambahkan pada masa mendatang, lihat bagian Menemukan database baru yang ditambahkan ke server SQL yang terdaftar.

Gunakan perintah az backup container list untuk memverifikasi apakah instans SQL berhasil terdaftar dengan vault Amda. Respons akan muncul sebagai:

Name                                                    Friendly Name    Resource Group        Type           Registration Status
------------------------------------------------------  --------------   --------------------  ---------      ----------------------
VMAppContainer;Compute;SQLResourceGroup;testSQLVM   	testSQLVM        SQLResourceGroup  		AzureWorkload  Registered

Catatan

Kolom nama dalam output di atas mengacu pada nama kontainer. Nama kontainer ini akan digunakan di bagian berikutnya untuk mengaktifkan cadangan dan memicunya. Misalnya, VMAppContainer;Compute;SQLResourceGroup;testSQLVM.

Mengaktifkan cadangan pada database SQL

Perintah az backup protectable-item list mencantumkan semua database yang dicakup di instans SQL yang Anda daftarkan pada langkah sebelumnya.

az backup protectable-item list --resource-group SQLResourceGroup \
    --vault-name SQLVault \
    --workload-type SQLDataBase \
	--backup-management-type AzureWorkload \
	--protectable-item-type SQLDataBase
    --output table

Anda seharusnya menemukan cadangan dalam daftar ini yang ingin dicadangkan, yang muncul sebagai:

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  

Sekarang, konfigurasikan cadangan untuk database sqldatabase;mssqlserver;master.

Untuk mengonfigurasikan dan melindungi cadangan di database, satu per satu, gunakan perintah az backup protection enable-for-azurewl. Berikan nama kebijakan yang ingin Anda gunakan. Untuk membuat kebijakan dengan CLI, gunakan perintah az backup policy create. Untuk artikel ini, kami menggunakan kebijakan testSQLPolicy.

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

Anda dapat menggunakan perintah yang sama, jika memiliki Grup Ketersediaan AlwaysOn SQL dan ingin mengidentifikasi sumber data yang dapat dilindungi dalam grup ketersediaan tersebut. Di sini, jenis item yang dapat dilindungi adalah SQLAG.

Untuk memverifikasi apakah konfigurasi pencadangan di atas selesai, gunakan perintah az backup job list. Outputnya muncul sebagai:

Name                                  Operation         Status     Item Name   Start Time UTC
------------------------------------  ---------------   ---------  ----------  -------------------  
e0f15dae-7cac-4475-a833-f52c50e5b6c3  ConfigureBackup   Completed  master         2019-12-03T03:09:210831+00:00  

Perintah az backup job list mencantumkan semua pekerjaan pencadangan (yang terjadwal atau sesuai permintaan) yang telah berjalan di database yang dilindungi, selain operasi lain, seperti mendaftarkan, mengonfigurasikan cadangan, dan menghapus data pencadangan.

Catatan

Azure Backup tidak otomatis menyesuaikan perubahan waktu musim panas saat mencadangkan database SQL yang berjalan di Azure VM.

Ubah kebijakan secara manual sesuai kebutuhan.

Mengaktifkan Proteksi Otomatis

Untuk konfigurasi pencadangan yang lancar, semua database yang ditambahkan di masa mendatang dapat otomatis dilindungi dengan kebijakan tertentu. Untuk mengaktifkan perlindungan otomatis, gunakan perintah az backup protection auto-enable-for-azurewl.

Karena instruksinya adalah untuk mencadangkan semua database pada masa mendatang, operasi dilakukan pada tingkat SQLInstance.

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

Memicu pencadangan sesuai permintaan

Untuk memicu pencadangan sesuai permintaan, gunakan perintah az backup protection backup-now.

Catatan

Periode retensi pencadangan ini ditentukan oleh jenis pencadangan sesuai permintaan yang telah Anda jalankan.

  • Penuh sesuai permintaan mempertahankan cadangan selama minimal 45 hari dan maksimum 99 tahun.
  • Salinan sesuai permintaan hanya penuh menerima nilai apa pun untuk dipertahankan.
  • Diferensial sesuai permintaan mempertahankan pencadangan seperti per retensi diferensial yang dijadwalkan dalam kebijakan.
  • Log sesuai permintaan mempertahankan pencadangan seperti per retensi log yang dijadwalkan dalam kebijakan.
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

Outputnya muncul sebagai:

Name                                  ResourceGroup
------------------------------------  -------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3  sqlResourceGroup

Responnya memberi Anda nama pekerjaan. Anda dapat menggunakan nama pekerjaan ini untuk melacak status pekerjaan menggunakan perintah az backup job show.

Langkah berikutnya