Verwenden Sie zum Verschieben einer Azure SQL-Datenbank in einem Pool für elastische SQL-Datenbanken eine Befehlszeilenschnittstelle.Use CLI to move an Azure SQL database in a SQL elastic pool

Dieses Azure CLI-Beispielskript erstellt zwei Pools für elastische Datenbanken, verschiebt eine Azure SQL-Datenbank aus einem Pool für elastische SQL-Datenbanken in einen anderen und verschiebt die Datenbank dann aus dem Pool für elastische Datenbanken in eine Einzeldatenbank-Computegröße.This Azure CLI script example creates two elastic pools and moves an Azure SQL database from one SQL elastic pool into another SQL elastic pool, and then moves the database out of elastic pool to a single database compute size.

Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

Verwenden von Azure Cloud ShellUse Azure Cloud Shell

Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell ermöglicht die Verwendung von bash oder PowerShell, um mit Azure-Diensten zu arbeiten.Cloud Shell lets you use either bash or PowerShell to work with Azure services. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Starten von Azure Cloud Shell:To launch Azure Cloud Shell:

OptionOption Beispiel/LinkExample/Link
Klicken Sie in der rechten oberen Ecke eines Codeblocks auf Ausprobieren.Select Try It in the upper-right corner of a code block. Durch die Auswahl von Ausprobieren wird der Code nicht automatisch in Cloud Shell kopiert.Selecting Try It doesn't automatically copy the code to Cloud Shell. Beispiel für „Testen Sie es.“ für Azure Cloud Shell
Rufen Sie https://shell.azure.com auf, oder wählen Sie die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen.Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. Starten von Cloud Shell in einem neuen FensterLaunch Cloud Shell in a new window
Wählen Sie im Azure-Portal oben rechts in der Menüleiste die Schaltfläche Cloud Shell.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Cloud Shell-Schaltfläche im Azure-Portal

Ausführen des Codes in diesem Artikel in Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Starten Sie Cloud Shell.Launch Cloud Shell.

  2. Wählen Sie die Schaltfläche Kopieren für einen Codeblock, um den Code zu kopieren.Select the Copy button on a code block to copy the code.

  3. Fügen Sie den Code mit STRG+UMSCHALT+V unter Windows und Linux oder Cmd+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.

  4. Drücken Sie die EINGABETASTE, um den Code auszuführen.Press Enter to run the code.

Wenn Sie die Befehlszeilenschnittstelle lokal installieren und verwenden möchten, müssen Sie für dieses Thema die Azure CLI in Version 2.0 oder höher ausführen.If you choose to install and use the CLI locally, this topic requires that you are running the Azure CLI version 2.0 or later. Führen Sie az --version aus, um die Version zu finden.Run az --version to find the version. Installations- und Upgradeinformationen finden Sie bei Bedarf unter Installieren von Azure CLI.If you need to install or upgrade, see Install the Azure CLI.

BeispielskriptSample script

#!/bin/bash

# set execution context (if necessary)
az account set --subscription <replace with your subscription name or id>

# Set the resource group name and location for your server
resourceGroupName=myResourceGroup$RANDOM
location=westus2

# Set an admin login and password for your database
adminlogin=ServerAdmin
password=`openssl rand -base64 16`
# password=<EnterYourComplexPasswordHere1>

# The logical server name has to be unique in the system
servername=server$RANDOM

# Create a resource group
az group create \
    --name $resourceGroupName \
    --location $location

# Create a logical server in the resource group
az sql server create \
    --name $servername \
    --resource-group $resourceGroupName \
    --location $location \
    --admin-user $adminlogin \
    --admin-password $password

# Create two pools in the logical server
az sql elastic-pool create \
    --resource-group $resourceGroupName \
    --server $servername \
    --name myFirstPool \
    --edition GeneralPurpose \
    --family Gen4 \
    --capacity 1
az sql elastic-pool create \
    --resource-group $resourceGroupName \
    --server $servername \
    --name mySecondPool \
    --edition GeneralPurpose \
    --family Gen4 \
    --capacity 1

# Create a database in the first pool
az sql db create \
    --resource-group $resourceGroupName \
    --server $servername \
    --name mySampleDatabase \
    --elastic-pool myFirstPool

# Move the database to the second pool - create command updates the db if it exists
az sql db create \
    --resource-group $resourceGroupName \
    --server $servername \
    --name mySampleDatabase \
    --elastic-pool mySecondPool

# Move the database to standalone S0 service tier
az sql db create \
    --resource-group $resourceGroupName \
    --server $servername \
    --name mySampleDatabase \
    --service-objective S0

# Echo random password
echo $password

Bereinigen der BereitstellungClean up deployment

Verwenden Sie den folgenden Befehl, um die Ressourcengruppe und alle dazugehörigen Ressourcen zu entfernen:Use the following command to remove the resource group and all resources associated with it.

az group delete --name $resourceGroupName

Erläuterung des SkriptsScript explanation

Das Skript verwendet die folgenden Befehle.This script uses the following commands. Jeder Befehl in der Tabelle ist mit der zugehörigen Dokumentation verknüpft.Each command in the table links to command specific documentation.

Get-HelpCommand NotizenNotes
az group createaz group create Erstellt eine Ressourcengruppe, in der alle Ressourcen gespeichert sind.Creates a resource group in which all resources are stored.
az sql server createaz sql server create Erstellt einen SQL-Datenbank-Server, der Einzeldatenbanken und Pools für elastische Datenbanken hostet.Creates a SQL Database server that hosts single databases and elastic pools.
az sql elastic-pools createaz sql elastic-pools create Erstellt einen Pool für elastische Datenbanken.Creates an elastic pool.
az sql db createaz sql db create Erstellt eine Einzeldatenbank oder eine Datenbank in einem Pool für elastische Datenbanken.Creates a single database or a database in an elastic pool.
az sql db updateaz sql db update Aktualisiert Datenbankeigenschaften oder verschiebt eine Datenbank in Pools für elastische Datenbanken, daraus hinaus oder zwischen ihnen.Updates database properties or moves a database into, out of, or between elastic pools.
az group deleteaz group delete Löscht eine Ressourcengruppe einschließlich aller geschachtelten Ressourcen.Deletes a resource group including all nested resources.

Nächste SchritteNext steps

Weitere Informationen zur Azure CLI finden Sie in der Azure CLI-Dokumentation.For more information on the Azure CLI, see Azure CLI documentation.

Zusätzliche SQL-Datenbank-CLI-Skriptbeispiele finden Sie in der Azure SQL-Datenbank-Dokumentation.Additional SQL Database CLI script samples can be found in the Azure SQL Database documentation.