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 Microsoft Azure.

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

Dalam artikel ini, Anda akan mempelajari cara:

  • Buat brankas layanan pemulihan
  • 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 layanan pemulihan

Recovery Services vault adalah kontainer logis yang menyimpan data cadangan untuk setiap sumber daya yang dilindungi, seperti Azure VM atau beban kerja yang berjalan di Azure VM, misalnya database SQL atau HANA. Ketika tugas pencadangan untuk sumber daya yang dilindungi dilaksanakan, 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 dimodifikasi, 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 menginstal 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 ada dalam grup sumber daya yang sama dengan vault, SQLResourceGroup menggunakan grup sumber daya tempat vault dibuat.

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

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

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

Catatan

Nama kolom 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 ditemukan pada instans SQL yang Anda daftarkan di 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 database dalam daftar ini yang ingin Anda cadangkan, 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 sqldatabase; mssqlserver; database master .

Untuk mengonfigurasi dan melindungi cadangan pada database, satu per satu, gunakan perintah az backup protection enable-for-azurewl . Berikan nama kebijakan yang ingin Anda gunakan. Untuk membuat kebijakan menggunakan CLI, gunakan perintah az backup policy create . Untuk artikel ini, kami telah 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 Anda memiliki Grup Ketersediaan AlwaysOn SQL dan ingin mengidentifikasi sumber data yang dapat dilindungi dalam grup ketersediaan. 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 (terjadwal atau sesuai permintaan) yang telah berjalan atau saat ini berjalan pada database yang dilindungi, selain operasi lain, seperti mendaftar, mengonfigurasi cadangan, dan menghapus data cadangan.

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 mencadangkan semua database di 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 on-demand yang telah Anda jalankan.

  • Cadangan sesuai permintaan mempertahankan cadangan selama minimum 45 hari dan maksimum 99 tahun.
  • Salinan sesuai permintaan hanya penuh menerima nilai apa pun untuk retensi.
  • Diferensial sesuai permintaan mempertahankan cadangan sesuai retensi diferensial terjadwal yang ditetapkan dalam kebijakan.
  • Log sesuai permintaan mempertahankan cadangan sesuai retensi log terjadwal yang ditetapkan 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