Azure CLI kullanarak Yönetilen Örnek veritabanını başka bir coğrafi bölgeye geri yükleme

Şunlar için geçerlidir: Azure SQL Yönetilen Örneği

Bu Azure CLI betik örneği, Azure SQL Yönetilen Örneği veritabanını uzak bir coğrafi bölgeden (coğrafi geri yükleme) belirli bir noktaya geri yükler.

Bu örnek için mevcut bir yönetilen örnek çifti gerekir. Bkz. Azure CLI kullanarak farklı bölgelerde bir çift yönetilen örnek oluşturmak üzere Azure SQL Yönetilen Örneği oluşturma.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir Azure hesabı oluşturun.

Önkoşullar

Örnek betik

Bu betik için Azure CLI'yı yerel olarak kullanın, bunun Cloud Shell çalıştırılması çok uzun sürer.

Azure'da oturum açma

Belirli bir aboneliği kullanarak oturum açmak için aşağıdaki betiği kullanın.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Daha fazla bilgi için bkz . Etkin aboneliği ayarlama veya etkileşimli olarak oturum açma

Betiği çalıştırın

# 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

Kaynakları temizleme

Bu kaynaklar için sürekli bir gereksiniminiz yoksa az group delete komutunu kullanarak kaynak grubunu ve onunla ilişkili tüm kaynakları kaldırmak için aşağıdaki komutu kullanın. Bu kaynaklardan bazılarının oluşturulması ve silinmesi biraz zaman alabilir.

az group delete --name $resourceGroup

Örnek başvuru

Bu betik aşağıdaki komutları kullanır. Tablodaki her komut, komuta özgü belgelere yönlendirir.

Komut Dosyası Açıklama
az sql midb Yönetilen Örnek Veritabanı komutları.

Sonraki adımlar

Azure CLI hakkında daha fazla bilgi için bkz. Azure CLI belgeleri.

Ek SQL Veritabanı CLI betiği örnekleri, Azure SQL Veritabanı belgeleri içinde bulunabilir.