Partilhar via


Configurar um grupo de failover para um grupo de bancos de dados no Banco de Dados SQL do Azure usando a CLI do Azure

Aplica-se a:Banco de Dados SQL do Azure

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

Pré-requisitos

Exemplo de script

Lançar o Azure Cloud Shell

O Azure Cloud Shell é um shell interativo gratuito que você pode usar para executar as etapas neste artigo. Tem ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a 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 acessando https://shell.azure.com.

Quando o Cloud Shell for aberto, verifique se Bash está selecionado para o seu ambiente. As sessões subsequentes usarão a CLI do Azure em um ambiente Bash. Selecione Copiar para copiar os blocos de código, cole-o no Cloud Shell e pressione Enter para executá-lo.

Iniciar sessão no Azure

Cloud Shell é autenticado automaticamente na conta inicial com a qual efetuou login. Use o script a seguir para entrar usando uma assinatura diferente, substituindo-<Subscription ID> pela sua ID de Assinatura do Azure. Se não tiver uma subscrição 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 obter mais informações, consulte definir assinatura ativa ou fazer login interativamente

Executar o script

# Configure a failover group for a group of databases in Azure SQL Database

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-azuresql-rg-$randomIdentifier"
tag="setup-geodr-and-failover-database-failover-group"
server="msdocs-azuresql-server-$randomIdentifier"
database="msdocsazuresqldb$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
failoverGroup="msdocs-azuresql-failover-group-$randomIdentifier"
failoverLocation="Central US"
failoverResourceGroup="msdocs-azuresql-failover-rg-$randomIdentifier"
secondaryServer="msdocs-azuresql-secondary-server-$randomIdentifier"

echo "Using resource groups $resourceGroup and $failoverResourceGroup 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 $database..."
az sql db create --name $database --resource-group $resourceGroup --server $server --service-objective S0

echo "Creating failover group $failoverGroup..."
az sql failover-group create --name $failoverGroup --partner-server $secondaryServer --resource-group $resourceGroup --server $server --partner-resource-group $failoverResourceGroup

echo "Initiating failover..."
az sql failover-group set-primary --name $failoverGroup --resource-group $failoverResourceGroup --server $secondaryServer

echo "Monitoring failover..."
az sql failover-group show --name $failoverGroup --resource-group $resourceGroup --server $server

echo "Removing replication on $database..."
az sql failover-group delete --name $failoverGroup --resource-group $failoverResourceGroup --server $secondaryServer

Limpeza de 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ê tenha uma necessidade contínua desses recursos. Alguns desses recursos podem demorar um pouco para criar, bem como para excluir.

az group delete --name $failoverResourceGroup -y
az group delete --name $resourceGroup

Referência de exemplo

Este script usa os seguintes comandos. Cada comando na tabela tem links para a documentação específica do comando.

Comando Descrição
az sql failover-group criar Cria um grupo de failover.
az sql failover-group set-primary Estabeleça o servidor primário do grupo de failover transferindo todos os bancos de dados do servidor primário atual.
AZ SQL Failover-Group Show Obtém um grupo de failover
``` eliminar az sql failover-group ``` Exclui um grupo de failover