Memulihkan database Managed Instance ke wilayah geografis lain menggunakan Azure CLI
BERLAKU UNTUK:
Azure SQL Managed Instance
Contoh skrip Azure CLI ini memulihkan database Azure SQL Managed Instance dari wilayah geografis jarak jauh (pemulihan geografis) ke titik waktu tertentu.
Sampel ini memerlukan sepasang instans terkelola yang sudah ada, lihat Menggunakan Azure CLI untuk membuat Azure SQL Managed Instance guna membuat sepasang instans terkelola di wilayah yang berbeda.
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi lebih lanjut, lihat Mulai Cepat Azure Cloud Shell - Bash.
Jika Anda lebih memilih untuk menjalankan perintah referensi CLI secara lokal, pasang Azure CLI. Jika Anda menjalankan pada 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 tambahan, lihat Masuk dengan Azure CLI.
Saat diminta, instal ekstensi saat pertama kali menggunakan Azure CLI. 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.
Skrip sampel
Untuk skrip ini, gunakan Azure CLI secara lokal karena memerlukan waktu terlalu lama untuk berjalan di Cloud Shell.
Masuk ke Azure
Gunakan skrip berikut untuk masuk menggunakan langganan tertentu.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Untuk informasi selengkapnya, lihat mengatur langganan aktif atau masuk secara interaktif
Menjalankan skrip
# Restore a Managed Instance database to another geo-region
# Use Bash rather than Cloud Shell due to its timeout at 20 minutes when no interactive activity
# In Windows, run Bash in a Docker container to sync time zones between Azure and Bash.
# Run this script after running the script in https://docs.microsoft.com/en-us/azure/azure-sql/managed-instance/scripts/create-configure-managed-instance-cli twice to create two managed instances
# Provide the values for these three variables before running this rest of this script
# Variable block for additional parameter values
$instance = "<msdocs-azuresql-instance>" # add instance here
$targetInstance = "<msdocs-azuresql-target-instance>" # add target instance here
$resourceGroup = "<msdocs-azuresql-rg>" # add resource here
let "randomIdentifier=$RANDOM*$RANDOM"
$managedDatabase = "managedDatabase-$randomIdentifier"
echo "Creating $($managedDatabase) on $($instance)..."
az sql midb create -g $resourceGroup --mi $instance -n $managedDatabase
# Sleeping commands to wait long enough for automatic backup to be created
echo "Sleeping..."
sleep 40m
# To specify a specific point-in-time (in UTC) to restore from, use the ISO8601 format:
# restorePoint=ā2021-07-09T13:10:00Zā
restorePoint=$(date +%s)
restorePoint=$(expr $restorePoint - 60)
restorePoint=$(date -d @$restorePoint +"%Y-%m-%dT%T")
echo $restorePoint
echo "Restoring $($managedDatabase) to $($targetInstance)..."
az sql midb restore -g $resourceGroup --mi $instance -n $managedDatabase --dest-name $targetInstance --time $restorePoint
Membersihkan sumber daya
Gunakan perintah berikut untuk menghapus grup sumber daya dan semua sumber daya yang terkait dengannya menggunakan perintah az group delete - kecuali Anda masih memiliki kebutuhan untuk sumber daya ini. Beberapa sumber daya ini mungkin membutuhkan beberapa waktu untuk dibuat dan dihapus.
az group delete --name $resourceGroup
Sampel referensi
Skrip ini menggunakan perintah berikut. Setiap perintah dalam tabel ditautkan ke dokumentasi spesifik perintah.
| Skrip | Deskripsi |
|---|---|
| az sql midb | Perintah Database Managed Instance. |
Langkah berikutnya
Untuk mengetahui informasi selengkapnya mengenai Azure CLI, lihat Dokumentasi Azure CLI.
Sampel skrip Azure CLI SQL Database tambahan dapat ditemukan dalam Dokumentasi Azure SQL Database.
