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
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
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.