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

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.