Kopiera en databas i Azure SQL Database till en ny logisk server med hjälp av Azure CLI
gäller för:Azure SQL Database
Det här Azure CLI-skriptexemplet skapar en kopia av en befintlig databas i en ny logisk Azure SQL Database-server.
Om du inte har en Azure-prenumerationskapar du ett kostnadsfritt Azure-konto innan du börjar.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installera Azure CLI. Om du kör i Windows eller macOS kan du överväga att köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI-.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI-.
Kör az version för att hitta den version och de beroendebibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Exempelskript
Starta Azure Cloud Shell
Azure Cloud Shell är ett kostnadsfritt interaktivt gränssnitt som du kan använda för att köra stegen i den här artikeln. Den har vanliga Azure-verktyg förinstallerade och konfigurerade för användning med ditt konto.
Öppna Cloud Shell genom att välja Prova i det övre högra hörnet i ett kodblock. Du kan också starta Cloud Shell på en separat webbläsarflik genom att gå till https://shell.azure.com.
När Cloud Shell öppnas kontrollerar du att Bash- har valts för din miljö. Efterföljande sessioner använder Azure CLI i en Bash-miljö. Välj Kopiera för att kopiera kodblocken, klistra in det i Cloud Shell och tryck på Retur för att köra det.
Logga in på Azure
Cloud Shell autentiseras automatiskt under det första kontot som loggas in med. Använd följande skript för att logga in med en annan prenumeration och ersätta <Subscription ID>
med ditt Azure-prenumerations-ID. Om du inte har en Azure-prenumerationskapar du ett kostnadsfritt Azure-konto innan du börjar.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
För mer information, se aktivera aktiv prenumeration eller logga in interaktivt
Kör skriptet
# 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
Rensa resurser
Använd följande kommando för att ta bort resursgruppen och alla resurser som är associerade med den med kommandot az group delete – såvida du inte har ett pågående behov av dessa resurser. Vissa av dessa resurser kan ta ett tag att skapa och ta bort.
az group delete --name $targetResourceGroup
az group delete --name $resourceGroup
Exempelreferens
Det här skriptet använder följande kommandon. Varje kommando i tabellen länkar till kommandospecifik dokumentation.
Befallning | Beskrivning |
---|---|
az sql db copy | Skapar en kopia av en databas som använder ögonblicksbilden vid den aktuella tidpunkten. |
Nästa steg
Mer information om Azure CLI finns i Azure CLI-dokumentation.
Ytterligare SQL Database CLI-skriptexempel finns i dokumentationen Azure SQL Database.