Een database in Azure SQL Database kopiëren naar een nieuwe logische server met behulp van de Azure CLI
van toepassing op:Azure SQL Database-
Met dit Azure CLI-voorbeeldscript maakt u een kopie van een bestaande database in een nieuwe logische Azure SQL Database-server.
Als u geen Azure-abonnement hebt, maakt u een gratis Azure-account voordat u begint.
Voorwaarden
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie Quickstart voor Bash in Azure Cloud Shellvoor meer informatie.
Als u cli-referentieopdrachten liever lokaal uitvoert, installeert u de Azure CLI. Als u werkt met Windows of macOS, kunt u Overwegen Om Azure CLI uit te voeren in een Docker-container. Zie Azure CLI uitvoeren in een Docker-containervoor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij de Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in uw terminal om het verificatieproces te voltooien. Zie Aanmelden met de Azure CLI-voor andere aanmeldingsopties.
Wanneer u hierom wordt gevraagd, installeert u de Azure CLI-extensie voor het eerste gebruik. Zie Extensies gebruiken met de Azure CLIvoor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Als u een upgrade wilt uitvoeren naar de nieuwste versie, voert u az upgradeuit.
Voorbeeldscript
Azure Cloud Shell starten
Azure Cloud Shell is een gratis interactieve shell die u kunt gebruiken om de stappen in dit artikel uit te voeren. Veelgebruikte Azure-hulpprogramma's zijn vooraf geïnstalleerd en geconfigureerd voor gebruik met uw account.
Als u Cloud Shell wilt openen, selecteert u Probeer het in de rechterbovenhoek van een codeblok. U kunt Cloud Shell ook starten in een afzonderlijk browsertabblad door naar https://shell.azure.comte gaan.
Wanneer Cloud Shell wordt geopend, controleert u of Bash- is geselecteerd voor uw omgeving. Volgende sessies gebruiken Azure CLI in een Bash-omgeving. Selecteer Kopieer om de codeblokken te kopiëren, plak deze in Cloud Shell en druk op Enter- om deze uit te voeren.
Aanmelden bij Azure
Cloud Shell wordt automatisch geverifieerd onder het eerste account waarmee is aangemeld. Gebruik het volgende script om u aan te melden met een ander abonnement, waarbij u <Subscription ID>
vervangt door uw Azure-abonnements-id. Als u geen Azure-abonnement hebt, maakt u een gratis Azure-account voordat u begint.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Zie voor meer informatie actief abonnement instellen of u interactief aanmelden
Het script uitvoeren
# 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
Hulpbronnen opschonen
Gebruik de volgende opdracht om de resourcegroep en alle bijbehorende resources te verwijderen met behulp van de opdracht az group delete- tenzij u deze resources voortdurend nodig hebt. Sommige van deze resources kunnen tijd kosten om te maken en te verwijderen.
az group delete --name $targetResourceGroup
az group delete --name $resourceGroup
Voorbeeldreferentie
In dit script worden de volgende opdrachten gebruikt. Elke opdracht in de tabel bevat koppelingen naar opdrachtspecifieke documentatie.
Bevelen | Beschrijving |
---|---|
az sql db kopiëren | Hiermee maakt u een kopie van een database die gebruikmaakt van de momentopname op het huidige moment. |
Volgende stappen
Zie Azure CLI-documentatievoor meer informatie over Azure CLI.
Meer VOORBEELDEN van SQL Database CLI-scripts vindt u in de documentatie van Azure SQL Database.