Copiar um banco de dados no Banco de Dados SQL do Azure para um novo servidor lógico usando a CLI do Azure
Aplica-se a: do Banco de Dados SQL do Azure
Este exemplo de script da CLI do Azure cria uma cópia de um banco de dados existente em um novo servidor lógico do Banco de Dados SQL do Azure.
Se você não tiver 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, consulte Guia de início rápido para Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instalar CLI do Azure. Se você estiver executando no Windows ou macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se você estiver usando uma instalação local, entre na CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para obter outras opções de início de sessão, consulte Entrar com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte Usar extensões com a CLI do Azure.
Execute az version para verificar a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
Exemplo de script
Iniciar 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 abrir, 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.
Entrar no Azure
Cloud Shell é autenticado automaticamente na conta inicial com a qual iniciou sessão. Use o script a seguir para entrar usando uma assinatura diferente, substituindo-<Subscription ID>
pela sua ID de Assinatura do Azure. Se você não tiver 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 obter mais informações, consulte configurar uma assinatura ativa ou fazer login interativamente
Executar o script
# Copy a database in Azure SQL Database to a new server
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-azuresql-rg-$randomIdentifier"
tag="copy-database-to-new-server"
server="msdocs-azuresql-server-$randomIdentifier"
database="msdocsazuresqldb$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
targetResourceGroup="msdocs-azuresql-targetrg-$randomIdentifier"
targetLocation="Central US"
targetServer="msdocs-azuresql-targetServer-$randomIdentifier"
targetDatabase="msdocs-azuresql-targetDatabase-$randomIdentifier"
echo "Using resource group $resourceGroup with login: $login, password: $password..."
echo "Creating $resourceGroup in location $location and $targetResourceGroup in $targetLocation..."
az group create --name $resourceGroup --location "$location" --tags $tag
az group create --name $targetResourceGroup --location "$targetLocation"
echo "Creating $server in $location and $targetServer in $targetLocation..."
az sql server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password
az sql server create --name $targetServer --resource-group $targetResourceGroup --location "$targetLocation" --admin-user $login --admin-password $password
echo "Creating $database on $server..."
az sql db create --name $database --resource-group $resourceGroup --server $server --service-objective S0
echo "Copying $database on $server to $targetDatabase on $targetServer..."
az sql db copy --dest-name $targetDatabase --dest-resource-group $targetResourceGroup --dest-server $targetServer --name $database --resource-group $resourceGroup --server $server
Limpar recursos
Use o comando seguinte para remover o grupo de recursos e todos os recursos associados a ele usando o comando az group delete - a menos que tenha uma necessidade contínua desses recursos. Alguns desses recursos podem demorar um pouco para criar, bem como para excluir.
az group delete --name $targetResourceGroup
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 db cópia | Cria uma cópia de uma base de dados que utiliza a captura no momento atual. |
Próximos passos
Para obter mais informações sobre a CLI do Azure, consulte documentação da CLI do Azure.
Exemplos adicionais de script da CLI do Banco de Dados SQL podem ser encontrados node documentação do Banco de Dados SQL do