Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure CLI digunakan untuk membuat dan mengelola sumber daya Azure dari Baris Perintah atau melalui skrip. Artikel ini menjelaskan cara mengelola database SQL yang dicadangkan di Azure VM menggunakan Azure CLI. Anda juga dapat melakukan tindakan ini menggunakan portal Microsoft Azure.
Nota
Jika Anda telah menggunakan Cadangkan database SQL di Azure menggunakan CLI untuk mencadangkan database SQL Anda, maka Anda menggunakan sumber daya berikut:
- Grup sumber daya bernama SQLResourceGroup
- Vault bernama SQLVault
- Kontainer terlindungi bernama VMAppContainer; Menghitung; SQLResourceGroup; testSQLVM
- Database/item yang dicadangkan bernama sqldatabase;mssqlserver;master
- Sumber daya di wilayah westus2
Azure CLI memudahkan proses pengelolaan database SQL yang dioperasikan pada Azure VM dan dicadangkan dengan Azure Backup. Bagian berikut menjelaskan setiap operasi manajemen.
Pelajari selengkapnya tentang konfigurasi dan skenario yang didukung untuk cadangan SQL.
Memantau pekerjaan pencadangan dan pemulihan
Gunakan perintah az backup job list untuk memantau pekerjaan yang sudah selesai atau sedang berjalan (pencadangan atau pemulihan). CLI juga memungkinkan Anda untuk menangguhkan pekerjaan yang sedang berjalan atau menunggu hingga pekerjaan selesai.
az backup job list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--output table
Outputnya muncul sebagai:
Name Operation Status Item Name Start Time UTC
------------------------------------ --------------- --------- ---------- -------------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 ConfigureBackup Completed master [testSQLVM] 2019-12-03T03:09:210831+00:00
ccdb4dce-8b15-47c5-8c46-b0985352238f Backup (Full) Completed master [testSQLVM] 2019-12-01T10:30:58.867489+00:00
4980af91-1090-49a6-ab96-13bc905a5282 Backup (Differential) Completed master [testSQLVM] 2019-12-01T10:36:00.563909+00:00
F7c68818-039f-4a0f-8d73-e0747e68a813 Restore (Log) Completed master [testSQLVM] 2019-12-03T05:44:51.081607+00:00
Mengubah kebijakan
Untuk mengubah kebijakan yang mendasar konfigurasi cadangan SQL, gunakan perintah az backup policy set . Parameter nama dalam perintah ini mengacu pada item cadangan yang kebijakannya ingin Anda ubah. Di sini, ganti kebijakan sqldatabase;mssqlserver;master dari database SQL dengan kebijakan baru newSQLPolicy. Anda dapat membuat kebijakan baru menggunakan perintah az backup policy create .
az backup item set-policy --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--policy-name newSQLPolicy \
--name sqldatabase;mssqlserver;master \
Outputnya muncul sebagai:
Name Operation Status Item Name Backup Management Type Start Time UTC Duration
------------------------------------ --------------- --------- ----------- ------------------------ -------------------------------- --------------
ba350996-99ea-46b1-aae2-e2096c1e28cd ConfigureBackup Completed master AzureWorkload 2022-06-22T08:24:03.958001+00:00 0:01:12.435765
Membuat kebijakan pencadangan diferensial
Untuk membuat kebijakan pencadangan diferensial, gunakan perintah az backup policy create dengan parameter berikut:
- --backup-management-type: Beban kerja Azure.
- --workload-type: SQL DataBase.
- --name: Nama kebijakan.
- --policy: File JSON dengan detail yang sesuai untuk jadwal dan retensi.
- --resource-group: Grup sumber daya vault.
- --vault-name: nama brankas/
Contoh:
az backup policy create --resource-group SQLResourceGroup --vault-name SQLVault --name SQLPolicy --backup-management-type AzureWorkload --policy SQLPolicy.json --workload-type SQLDataBase
Sampel JSON (sqlpolicy.json):
"eTag": null,
"id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLResourceGroup/providers/Microsoft.RecoveryServices/vaults/SQLVault/backupPolicies/SQLPolicy",
"location": null,
"name": "sqlpolicy",
"properties": {
"backupManagementType": "AzureWorkload",
"workLoadType": "SQLDataBase",
"settings": {
"timeZone": "UTC",
"issqlcompression": false,
"isCompression": false
},
"subProtectionPolicy": [
{
"policyType": "Full",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Sunday"
],
"scheduleRunTimes": [
"2022-06-13T19:30:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "LongTermRetentionPolicy",
"weeklySchedule": {
"daysOfTheWeek": [
"Sunday"
],
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 104,
"durationType": "Weeks"
}
},
"monthlySchedule": {
"retentionScheduleFormatType": "Weekly",
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 60,
"durationType": "Months"
}
},
"yearlySchedule": {
"retentionScheduleFormatType": "Weekly",
"monthsOfYear": [
"January"
],
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 10,
"durationType": "Years"
}
}
}
},
{
"policyType": "Differential",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"scheduleRunTimes": [
"2022-06-13T02:00:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "SimpleRetentionPolicy",
"retentionDuration": {
"count": 30,
"durationType": "Days"
}
}
},
{
"policyType": "Log",
"schedulePolicy": {
"schedulePolicyType": "LogSchedulePolicy",
"scheduleFrequencyInMins": 120
},
"retentionPolicy": {
"retentionPolicyType": "SimpleRetentionPolicy",
"retentionDuration": {
"count": 15,
"durationType": "Days"
}
}
}
],
"protectedItemsCount": 0
},
"resourceGroup": "SQLResourceGroup",
"tags": null,
"type": "Microsoft.RecoveryServices/vaults/backupPolicies"
}
Setelah kebijakan berhasil dibuat, output perintah menunjukkan JSON kebijakan yang Anda sertakan sebagai parameter saat Anda menjalankan perintah.
Anda dapat mengubah bagian kebijakan berikut untuk menentukan frekuensi pencadangan dan retensi yang diperlukan untuk cadangan diferensial.
Contohnya:
{
"policyType": "Differential",
"retentionPolicy": {
"retentionDuration": {
"count": 30,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2017-03-07T02:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
}
Contoh:
Jika Anda ingin memiliki cadangan diferensial hanya pada hari Sabtu dan menyimpannya selama 60 hari, lakukan perubahan berikut dalam kebijakan:
- Perbarui retentionDuration menjadi 60 hari.
- Tentukan hanya Sabtu sebagai ScheduleRunDays.
{
"policyType": "Differential",
"retentionPolicy": {
"retentionDuration": {
"count": 60,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Saturday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2017-03-07T02:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
}
Melindungi database baru yang ditambahkan ke instans SQL
Mendaftarkan instans SQL dengan brankas Layanan Pemulihan akan secara otomatis menemukan semua database dalam instans ini.
Namun, jika Anda telah menambahkan database baru ke instans SQL kemudian, gunakan perintah az backup protectable-item initialize. Perintah ini menemukan database baru yang ditambahkan.
az backup protectable-item initialize --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--workload-type SQLDataBase
Kemudian gunakan cmdlet daftar item yang dapat dilindungi cadangan az untuk mencantumkan semua database yang telah ditemukan pada instans SQL Anda. Daftar ini, bagaimanapun, mengecualikan database yang sudah dikonfigurasi untuk pencadangan. Setelah database yang akan dicadangkan ditemukan, lihat Mengaktifkan pencadangan pada database SQL.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--protectable-item-type SQLDataBase \
--output table
Database baru yang ingin Anda cadangkan muncul dalam daftar ini, yang ditampilkan sebagai:
Name Protectable Item Type ParentName ServerName IsProtected
--------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;db1 SQLDataBase mssqlserver testSQLVM NotProtected
sqldatabase;mssqlserver;db2 SQLDataBase mssqlserver testSQLVM NotProtected
Menghentikan perlindungan untuk database SQL
Anda dapat berhenti melindungi database SQL dalam proses berikut:
- Hentikan semua pekerjaan pencadangan di masa mendatang dan hapus semua titik pemulihan.
- Hentikan semua pekerjaan pencadangan di masa mendatang dan biarkan titik pemulihan tetap utuh.
Jika Anda memilih untuk meninggalkan titik pemulihan, ingatlah detail berikut:
- Semua titik pemulihan tetap utuh selamanya, dan semua pemangkasan berhenti pada penghentian perlindungan dengan mempertahankan data.
- Anda akan dikenakan biaya untuk instans yang dilindungi dan penyimpanan yang digunakan.
- Jika Anda menghapus sumber data tanpa menghentikan pencadangan, pencadangan baru akan gagal.
Proses penghentian perlindungan diuraikan di bawah ini.
Hentikan perlindungan dengan menyimpan data
Untuk menghentikan perlindungan dengan menyimpan data, gunakan perintah nonaktifkan perlindungan cadangan az.
az backup protection disable --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--item-name sqldatabase;mssqlserver;master \
--workload-type SQLDataBase \
--output table
Outputnya muncul sebagai:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Untuk memverifikasi status operasi ini, gunakan perintah az backup job show .
Hentikan perlindungan tanpa menyimpan data
Untuk menghentikan perlindungan tanpa menyimpan data, gunakan perintah az backup protection disable .
az backup protection disable --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--item-name sqldatabase;mssqlserver;master \
--workload-type SQLDataBase \
--delete-backup-data true \
--output table
Outputnya muncul sebagai:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Untuk memverifikasi status operasi ini, gunakan perintah az backup job show .
Melanjutkan perlindungan
Saat Anda menghentikan perlindungan untuk database SQL dengan menyimpan data, Anda dapat melanjutkan perlindungan nanti. Jika Anda tidak menyimpan data yang dicadangkan, Anda tidak akan dapat melanjutkan perlindungan.
Untuk melanjutkan perlindungan, gunakan perintah az backup protection resume .
az backup protection resume --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--policy-name SQLPolicy \
--output table
Outputnya muncul sebagai:
Name ResourceGroup
------------------------------------ ---------------
b2a7f108-1020-4529-870f-6c4c43e2bb9e SQLResourceGroup
Untuk memverifikasi status operasi ini, gunakan perintah az backup job show .
Langkah berikutnya
- Pelajari cara mencadangkan database SQL yang berjalan di Azure VM menggunakan portal Microsoft Azure.
- Pelajari cara mengelola database SQL yang dicadangkan yang berjalan di Azure VM menggunakan portal Microsoft Azure.