Tutorial: Mengelola database SAP Hana di Azure VM menggunakan Azure CLI

Azure CLI digunakan untuk membuat dan mengelola sumber daya Azure dari Baris Perintah atau melalui skrip. Dokumentasi ini merinci cara mengelola database SAP Hana yang dicadangkan di Azure VM - semua menggunakan Azure CLI. Anda juga dapat melakukan langkah-langkah ini menggunakan portal Microsoft Azure.

Gunakan Azure Cloud Shell untuk menjalankan perintah CLI.

Jika Anda telah Mencadangkan database SAP HANA di Azure menggunakan CLI, gunakan sumber daya berikut:

  • grup sumber daya bernama saphanaResourceGroup
  • brankas bernama saphanaVault
  • kontainer terlindungi bernama VMAppContainer;Compute;saphanaResourceGroup;saphanaVM
  • database/item yang dicadangkan bernama saphanadatabase; hxe; hxe
  • sumber daya di wilayah westus2

Azure CLI memudahkan pengelolaan database SAP HANA yang berjalan di mesin virtual Azure yang dicadangkan dengan menggunakan Azure Backup. Tutorial ini merinci setiap operasi manajemen.

Nota

Lihat matriks dukungan pencadangan SAP Hana untuk mengetahui lebih lanjut tentang konfigurasi dan skenario yang didukung.

Memantau pekerjaan pencadangan dan pemulihan database SAP HANA

Untuk memantau pekerjaan yang sudah selesai atau sedang berjalan (pencadangan atau pemulihan), gunakan cmdlet daftar pekerjaan pencadangan az . CLI juga memungkinkan Anda untuk menangguhkan pekerjaan yang sedang berjalan atau menunggu hingga pekerjaan selesai.

az backup job list --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --output table

Output akan terlihat seperti ini:

Name                                  Operation              Status      Item Name       Start Time UTC
------------------------------------  ---------------        ---------   ----------      -------------------  
e0f15dae-7cac-4475-a833-f52c50e5b6c3  ConfigureBackup        Completed   hxe             2019-12-03T03:09:210831+00:00  
ccdb4dce-8b15-47c5-8c46-b0985352238f  Backup (Full)          Completed   hxe [hxehost]   2019-12-01T10:30:58.867489+00:00
4980af91-1090-49a6-ab96-13bc905a5282  Backup (Differential)  Completed   hxe [hxehost]   2019-12-01T10:36:00.563909+00:00
F7c68818-039f-4a0f-8d73-e0747e68a813  Restore (Log)          Completed   hxe [hxehost]   2019-12-03T05:44:51.081607+00:00

Mengubah kebijakan untuk database cadangan SAP HANA

Untuk mengubah kebijakan yang mendasar konfigurasi cadangan SAP Hana, gunakan cmdlet az backup policy set . Parameter nama dalam cmdlet ini mengacu pada item cadangan yang kebijakannya ingin kita ubah. Untuk tutorial ini, kami akan mengganti kebijakan dari database SAP HANA saphanadatabase; hxe; hxe dengan kebijakan baru newsaphanaPolicy. Kebijakan baru dapat dibuat menggunakan cmdlet az backup policy create.

az backup item set policy --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --policy-name newsaphanaPolicy \
    --name saphanadatabase;hxe;hxe \

Output akan terlihat seperti ini:

Name                                  Resource Group
------------------------------------- --------------
cb110094-9b15-4c55-ad45-6899200eb8dd  SAPHANA

Membuat kebijakan pencadangan bertahap untuk database SAP Hana

Untuk membuat kebijakan pencadangan inkremental, jalankan perintah az backup policy create dengan parameter berikut:

  • --backup-management-type – Azure Workload
  • --workload-type - SAPHana
  • --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 saphanaResourceGroup --vault-name saphanaVault --name sappolicy --backup-management-type AzureWorkload --policy sappolicy.json --workload-type SAPHana

Sampel JSON (sappolicy.json):

  "eTag": null,
  "id": "/Subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/saphanaResourceGroup/providers/Microsoft.RecoveryServices/vaults/saphanaVault/backupPolicies/sappolicy",
  "location": null,
  "name": "sappolicy",
  "properties": {
    "backupManagementType": "AzureWorkload",
    "makePolicyConsistent": null,
    "protectedItemsCount": 0,
    "settings": {
      "isCompression": false,
      "issqlcompression": false,
      "timeZone": "UTC"
    },
    "subProtectionPolicy": [
      {
        "policyType": "Full",
        "retentionPolicy": {
          "dailySchedule": null,
          "monthlySchedule": {
            "retentionDuration": {
              "count": 60,
              "durationType": "Months"
            },
            "retentionScheduleDaily": null,
            "retentionScheduleFormatType": "Weekly",
            "retentionScheduleWeekly": {
              "daysOfTheWeek": [
                "Sunday"
              ],
              "weeksOfTheMonth": [
                "First"
              ]
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          },
          "retentionPolicyType": "LongTermRetentionPolicy",
          "weeklySchedule": {
            "daysOfTheWeek": [
              "Sunday"
            ],
            "retentionDuration": {
              "count": 104,
              "durationType": "Weeks"
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          },
          "yearlySchedule": {
            "monthsOfYear": [
              "January"
            ],
            "retentionDuration": {
              "count": 10,
              "durationType": "Years"
            },
            "retentionScheduleDaily": null,
            "retentionScheduleFormatType": "Weekly",
            "retentionScheduleWeekly": {
              "daysOfTheWeek": [
                "Sunday"
              ],
              "weeksOfTheMonth": [
                "First"
              ]
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          }
        },
        "schedulePolicy": {
          "schedulePolicyType": "SimpleSchedulePolicy",
          "scheduleRunDays": [
            "Sunday"
          ],
          "scheduleRunFrequency": "Weekly",
          "scheduleRunTimes": [
            "2021-01-19T00:30:00+00:00"
          ],
          "scheduleWeeklyFrequency": 0
        }
      },
      {
        "policyType": "Incremental",
        "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
        }
      },
      {
        "policyType": "Log",
        "retentionPolicy": {
          "retentionDuration": {
            "count": 15,
            "durationType": "Days"
          },
          "retentionPolicyType": "SimpleRetentionPolicy"
        },
        "schedulePolicy": {
          "scheduleFrequencyInMins": 120,
          "schedulePolicyType": "LogSchedulePolicy"
        }
      }
    ],
    "workLoadType": "SAPHanaDatabase"
  },
  "resourceGroup": "saphanaResourceGroup",
  "tags": null,
  "type": "Microsoft.RecoveryServices/vaults/backupPolicies"
} 

Setelah kebijakan berhasil dibuat, output perintah akan menampilkan kebijakan JSON yang Anda berikan sebagai parameter ketika menjalankan perintah.

Anda dapat mengubah bagian kebijakan berikut untuk menentukan frekuensi pencadangan dan retensi yang diinginkan untuk pencadangan inkremental.

Contohnya:

{
  "policyType": "Incremental",
  "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 inkremental hanya pada hari Sabtu dan menyimpannya selama 60 hari, buat perubahan berikut dalam kebijakan:

  • Perbarui jumlah durasi retensi menjadi 60 hari
  • Tentukan hanya Sabtu sebagai ScheduleRunDays
 {
  "policyType": "Incremental",
  "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 SAP Hana

Mendaftarkan instans SAP HANA dengan Recovery Services vault secara otomatis menemukan semua database pada instans ini.

Namun, dalam kasus ketika database baru ditambahkan ke instans SAP HANA nanti, gunakan cmdlet az backup protectable-item initialize. Cmdlet ini menemukan database baru yang ditambahkan.

az backup protectable-item initialize --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --workload-type SAPHANA

Kemudian gunakan cmdlet daftar item yang dapat dilindungi cadangan az untuk mencantumkan semua database yang telah ditemukan pada instans SAP Hana Anda. Namun, daftar ini mengecualikan database yang sudah dikonfigurasi untuk backup. Setelah database yang akan dicadangkan ditemukan, lihat Mengaktifkan pencadangan pada database SAP Hana.

az backup protectable-item list --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --workload-type SAPHANA \
    --output table

Database baru yang ingin Anda cadangkan akan muncul dalam daftar ini, yang akan terlihat sebagai berikut:

Name                            Protectable Item Type    ParentName    ServerName    IsProtected
---------------------------     ----------------------   ------------  -----------   ------------
saphanasystem;hxe               SAPHanaSystem            HXE           hxehost       NotProtected  
saphanadatabase;hxe;systemdb    SAPHanaDatabase          HXE           hxehost       NotProtected
saphanadatabase;hxe;newhxe      SAPHanaDatabase          HXE           hxehost       NotProtected

Menghentikan perlindungan untuk database SAP Hana

Anda dapat berhenti melindungi database SAP Hana dengan beberapa cara:

  • Hentikan semua pekerjaan pencadangan pada masa mendatang dan hapus semua titik pemulihan.
  • Hentikan semua pekerjaan pencadangan di masa mendatang dan biarkan semua titik pemulihan.

Jika Anda memilih untuk membiarkan titik pemulihan, ingatlah detail ini:

  • Semua titik pemulihan akan tetap utuh selamanya, dan semua pemangkasan akan berhenti pada hentikan perlindungan dengan menyimpan 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.

Mari kita lihat masing-masing cara untuk menghentikan perlindungan secara lebih rinci.

Hentikan perlindungan dengan pertahankan data

Untuk menghentikan perlindungan dengan menyimpan data, gunakan cmdlet nonaktifkan perlindungan cadangan az .

az backup protection disable --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
    --workload-type SAPHANA \
    --output table

Output akan terlihat seperti ini:

Name                                  ResourceGroup
------------------------------------  ---------------  
g0f15dae-7cac-4475-d833-f52c50e5b6c3  saphanaResourceGroup

Untuk memeriksa status operasi ini, gunakan cmdlet az backup job show .

Hentikan perlindungan tanpa menyimpan data

Untuk menghentikan perlindungan tanpa menyimpan data, gunakan cmdlet nonaktifkan perlindungan cadangan az .

az backup protection disable --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
    --workload-type SAPHANA \
    --delete-backup-data true \
    --output table

Output akan terlihat seperti ini:

Name                                  ResourceGroup
------------------------------------  ---------------  
g0f15dae-7cac-4475-d833-f52c50e5b6c3  saphanaResourceGroup

Untuk memeriksa status operasi ini, gunakan cmdlet az backup job show .

Lanjutkan proteksi untuk database SAP HANA

Ketika Anda menghentikan perlindungan untuk database SAP Hana dengan menyimpan data, Anda nantinya dapat melanjutkan perlindungan. Jika Anda tidak menyimpan data yang dicadangkan, Anda tidak akan dapat melanjutkan perlindungan.

Untuk melanjutkan perlindungan, gunakan cmdlet az backup protection resume.

az backup protection resume --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --policy-name saphanaPolicy \
    --output table

Output akan terlihat seperti ini:

Name                                  ResourceGroup
------------------------------------  ---------------  
b2a7f108-1020-4529-870f-6c4c43e2bb9e  saphanaResourceGroup

Untuk memeriksa status operasi ini, gunakan cmdlet az backup job show .

Langkah berikutnya