Usare l'interfaccia della riga di comando per spostare un database SQL di Azure in un pool elastico SQL

Questo script di esempio dell'interfaccia della riga di comando di Azure crea due pool elastici e sposta un database SQL di Azure da un pool elastico all'altro, quindi sposta un database all'esterno di un pool elastico in un livello di prestazioni a database singolo di Azure.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Avviare Azure Cloud Shell

Azure Cloud Shell è una shell Bash gratuita che può essere eseguita direttamente nel portale di Azure. Include l'interfaccia della riga di comando di Azure preinstallata e configurata per l'uso con l'account. Fare clic sul pulsante Cloud Shell nel menu nel riquadro in alto a destra nel portale di Azure.

Cloud Shell

Il pulsante avvia una shell interattiva che è possibile usare per eseguire tutti i passaggi in questo argomento:

Screenshot che mostra la finestra di Cloud Shell nel portale

Se si sceglie di installare e usare l'interfaccia della riga di comando in locale, per questo argomento è necessario eseguire la versione 2.0 o successiva dell'interfaccia della riga di comando di Azure. Eseguire az --version per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure 2.0.

Script di esempio

#!/bin/bash

# Set an admin login and password for your database
export adminlogin=ServerAdmin
export password=ChangeYourAdminPassword1
# The logical server name has to be unique in the system
export servername=server-$RANDOM

# Create a resource group
az group create \
	--name myResourceGroup \
	--location westeurope 

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

# Create two pools in the logical server
az sql elastic-pools create \
	--resource-group myResourceGroup \
	--location westeurope  \
	--server $servername \
	--name myFirstPool \
	--dtu 50 \
	--database-dtu-max 20
az sql elastic-pools create \
	--resource-group myResourceGroup \
	--location westeurope  \
	--server $servername \
	--name MySecondPool \
	--dtu 50 \
	--database-dtu-max 50

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

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

# Move the database to standalone S1 performance level
az sql db create \
	--resource-group myResourceGroup \
	--server $servername \
	--name mySampleDatabase \
	--service-objective S1

Pulire la distribuzione

Dopo l'esecuzione dello script di esempio, è possibile usare il comando seguente per rimuovere il gruppo di risorse e tutte le risorse ad esso associate.

az group delete --name myResourceGroup

Spiegazione dello script

Questo script usa i comandi seguenti. Ogni comando della tabella include collegamenti alla documentazione specifica del comando.

Comando Note
az group create Consente di creare un gruppo di risorse in cui sono archiviate tutte le risorse.
az sql server create Crea un server logico che ospita un database o un pool elastico.
az sql elastic-pools create Crea un pool elastico all'interno di un server logico.
az sql db create Crea un database in un server logico come database singolo o in pool.
az sql db update Aggiorna le proprietà del database o sposta un database all'interno, all'esterno o tra pool elastici.
az group delete Consente di eliminare un gruppo di risorse incluse tutte le risorse annidate.

Passaggi successivi

Per altre informazioni sull'interfaccia della riga di comando di Azure, vedere la documentazione sull'interfaccia della riga di comando di Azure.

Per altri esempi di script dell'interfaccia della riga di comando per database SQL, vedere la documentazione del database SQL di Azure.