Configurar a replicação geográfica ativa de um banco de dados em pool no Banco de Dados SQL do Azure usando a CLI do Azure
Aplica-se a: Banco de Dados SQL do Azure
Este exemplo de script da CLI do Azure configura a replicação geográfica ativa para um banco de dados em pool no Banco de Dados SQL do Azure e faz o failover para a réplica secundária do banco de dados.
Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
Exemplo de script
Iniciar o Azure Cloud Shell
O Azure Cloud Shell é um shell gratuito e interativo que poderá ser usado para executar as etapas deste artigo. Ele tem ferramentas do Azure instaladas e configuradas para usar com sua conta.
Para abrir o Cloud Shell, selecione Experimentar no canto superior direito de um bloco de código. Você também pode iniciar o Cloud Shell em uma guia separada do navegador indo até https://shell.azure.com.
Quando o Cloud Shell abrir, verifique se o Bash está selecionado para o ambiente. As sessões posteriores usarão a CLI do Azure em um ambiente do Bash. Selecione Copiar para copiar os blocos de código, cole o código no Cloud Shell e depois pressione Enter para executá-lo.
Entrar no Azure
O Cloud Shell é autenticado automaticamente na conta inicial usada para entrar. Use o seguinte script para entrar usando uma assinatura diferente, substituindo <Subscription ID>
pela ID da Assinatura do Azure. Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Para saber mais, confira definir assinatura ativa ou fazer logon de forma interativa
Executar o script
# Configure active geo-replication for a pooled database in Azure SQL Database
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-azuresql-rg-$randomIdentifier"
tag="setup-geodr-and-failover-elastic-pool"
server="msdocs-azuresql-server-$randomIdentifier"
database="msdocsazuresqldb$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
pool="pool-$randomIdentifier"
failoverLocation="Central US"
failoverResourceGroup="msdocs-azuresql-failover-rg-$randomIdentifier"
secondaryServer="msdocs-azuresql-secondary-server-$randomIdentifier"
secondaryPool="msdocs-azuresql-secondary-pool-$randomIdentifier"
echo "Using resource group $resourceGroup with login: $login, password: $password..."
echo "Creating $resourceGroup in $location and $failoverResourceGroup in $failoverLocation..."
az group create --name $resourceGroup --location "$location" --tags $tag
az group create --name $failoverResourceGroup --location "$failoverLocation"
echo "Creating $server in $location and $secondaryServer in $failoverLocation..."
az sql server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password
az sql server create --name $secondaryServer --resource-group $failoverResourceGroup --location "$failoverLocation" --admin-user $login --admin-password $password
echo "Creating $pool on $server and $secondaryPool on $secondaryServer..."
az sql elastic-pool create --name $pool --resource-group $resourceGroup --server $server --capacity 50 --db-dtu-max 50 --db-dtu-min 10 --edition "Standard"
az sql elastic-pool create --name $secondaryPool --resource-group $failoverResourceGroup --server $secondaryServer --capacity 50 --db-dtu-max 50 --db-dtu-min 10 --edition "Standard"
echo "Creating $database in $pool..."
az sql db create --name $database --resource-group $resourceGroup --server $server --elastic-pool $pool
echo "Establishing geo-replication for $database between $server and $secondaryServer..."
az sql db replica create --name $database --partner-server $secondaryServer --resource-group $resourceGroup --server $server --elastic-pool $secondaryPool --partner-resource-group $failoverResourceGroup
echo "Initiating failover to $secondaryServer..."
az sql db replica set-primary --name $database --resource-group $failoverResourceGroup --server $secondaryServer
echo "Monitoring health of $database on $secondaryServer..."
az sql db replica list-links --name $database --resource-group $failoverResourceGroup --server $secondaryServer
Limpar os recursos
Use o comando a seguir para remover o grupo de recursos e todos os recursos associados a ele usando o comando az group delete, a menos que você necessite desses recursos com frequência. A criação e a exclusão de alguns desses recursos podem demorar um pouco.
az group delete --name $resourceGroup
az group delete --name $secondaryResourceGroup
Exemplo de referência
Este script usa os comandos a seguir. Cada comando da tabela é vinculado à documentação específica do comando.
Comando | Descrição |
---|---|
az sql elastic-pool | Comandos de pool elástico |
az sql db replica | Comandos de replicação de banco de dados. |
Próximas etapas
Para saber mais sobre a CLI do Azure, consulte a Documentação da CLI do Azure.
Os exemplos de script da CLI do Banco de Dados SQL adicionais podem ser encontrados na documentação do Banco de Dados SQL do Azure.