Copiar um banco de dados no Banco de Dados SQL do Azure para um novo servidor usando a CLI do Azure
Aplica-se a: 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.
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
# 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 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 $targetResourceGroup
az group delete --name $resourceGroup
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 db copy | Cria uma cópia de um banco de dados que usa o instantâneo no momento atual. |
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.