Crea e configura un database serverless in database SQL di Azure

Si applica a:Database SQL di Azure

Questo articolo spiega come creare un nuovo database serverless, spostare un database esistente al livello di calcolo serverless e modificare la configurazione serverless in database SQL di Azure.

Creare un nuovo database senza server

Creare un nuovo database o trasferire un database esistente in un livello di calcolo serverless segue lo stesso schema della creazione di un nuovo database nel livello di calcolo provisionato. Il processo prevede i seguenti due passaggi:

  1. Specificare l'obiettivo di servizio. L'obiettivo del servizio prescrive il livello di servizio, la configurazione hardware e il numero massimo di vCores. Per le opzioni relative agli obiettivi di servizio, vedere limiti delle risorse serverless.

  2. Facoltativamente, specifica il numero minimo di vCore e il ritardo di sospensione automatica per modificarne i valori predefiniti. Per ulteriori informazioni, vedi Pausa automatica e ripresa automatica.

Negli esempi seguenti viene creato un nuovo database nel livello di calcolo serverless.

Usare il portale di Azure

Vedere Quickstart: Creare un database singolo in database SQL di Azure usando il portale di Azure.

Usare PowerShell.

Crea un nuovo database per utilizzo generico serverless con l'esempio di PowerShell seguente:

$resourceGroupName = "<resource group name>"
$serverName = "<logical SQL server name>"
$databaseName = "<new database name>"

$params = @{
    ResourceGroupName = $resourceGroupName
    ServerName = $serverName
    DatabaseName = $databaseName
    Edition = 'GeneralPurpose'
    ComputeModel = 'Serverless'
    ComputeGeneration = 'Gen5'
    MinVcore = 0.5
    MaxVcore = 2
    AutoPauseDelayInMinutes = 15
}
New-AzSqlDatabase @params

Utilizzare l'interfaccia della riga di comando di Azure

Crea un nuovo database serverless General Purpose utilizzando il seguente esempio di interfaccia della riga di comando di Azure:

$resourceGroupName = "<resource group name>"
$serverName = "<logical SQL server name>"
$databaseName = "<database name>"

az sql db create -g $resourceGroupName `
-s $serverName `
-n $databaseName `
-e GeneralPurpose `
--compute-model Serverless `
-f Gen5 `
--min-capacity 0.5 `
-c 2 `
--auto-pause-delay 15

Usare Transact-SQL (T-SQL)

Quando usi T-SQL per creare un nuovo database serverless, il sistema applica valori predefiniti per i vCore minimi e il ritardo di pausa automatica. Puoi poi modificare questi valori dal portale Azure o tramite API, inclusi PowerShell, interfaccia della riga di comando di Azure e REST.

Per dettagli, vedere CREATE DATABASE.

Crea un nuovo database serverless per utilizzo generico con l'esempio T-SQL seguente:

CREATE DATABASE testdb
( EDITION = 'GeneralPurpose', SERVICE_OBJECTIVE = 'GP_S_Gen5_1' ) ;

Spostare un database tra livelli di calcolo o i livello di servizio

Puoi spostare un database tra il livello di calcolo provisionato e quello serverless.

Puoi anche spostare un database serverless dal livello di servizio di uso generale a quello di servizio Hyperscale. Per altre informazioni, vedere Convertire un database esistente in Hyperscale.

Attualmente, la sospensione automatica e la riattivazione automatica serverless sono una funzionalità in anteprima di database SQL di Azure Hyperscale. La stessa sintassi interfaccia della riga di comando di Azure è usata sia per General Purpose che per Hyperscale. Nel livello di servizio Uso Generale, il ritardo predefinito di pausa automatica è di 60 minuti, mentre il minimo è di 15 minuti. Per l'auto-pausa di Hyperscale (anteprima), il ritardo di auto-pausa predefinito è di 60 minuti e il minimo è di 60 minuti.

Quando sposti un database tra i livelli di calcolo, specifica il parametro del modello di calcolo come o ServerlessProvisioned quando usi PowerShell o interfaccia della riga di comando di Azure. Quando si utilizza T-SQL, specifica il SERVICE_OBJECTIVE. Esaminare limiti delle risorse per identificare l'obiettivo di servizio appropriato.

Negli esempi seguenti un database esistente viene spostato dal calcolo con risorse predefinite al serverless.

Usare PowerShell.

Sposta un database General Purpose di calcolo provisionato al livello serverless usando il seguente esempio PowerShell:

$resourceGroupName = "<resource group name>"
$serverName = "<logical SQL server name>"
$databaseName = "<new database name>"

$params = @{
    ResourceGroupName = $resourceGroupName
    ServerName = $serverName
    DatabaseName = $databaseName
    Edition = 'GeneralPurpose'
    ComputeModel = 'Serverless'
    ComputeGeneration = 'Gen5'
    MinVcore = 1
    MaxVcore = 4
    AutoPauseDelayInMinutes = 1440
}
Set-AzSqlDatabase @params

Utilizzare l'interfaccia della riga di comando di Azure

Per spostare un database General Purpose di calcolo provisionato al livello di calcolo serverless, usa il seguente esempio di interfaccia della riga di comando di Azure:

$resourceGroupName = "<resource group name>"
$serverName = "<logical SQL server name>"
$databaseName = "<database name>"

az sql db update -g $resourceGroupName `
-s $serverName `
-n $databaseName `
--edition GeneralPurpose `
--compute-model Serverless `
--family Gen5 `
--min-capacity 1 `
--capacity 4 `
--auto-pause-delay 1440

Usare Transact-SQL (T-SQL)

Quando usi T-SQL per spostare un database tra i livelli di calcolo, l'operazione applica valori predefiniti per i vCore minimi e il ritardo di pausa automatica. Puoi modificare questi valori successivamente dal portale Azure o tramite API, inclusi PowerShell, interfaccia della riga di comando di Azure e REST. Per ulteriori informazioni, vedere ALTER DATABASE.

Per spostare un database General Purpose con calcolo provisionato al livello di calcolo serverless, usa il seguente esempio T-SQL:

ALTER DATABASE testdb 
MODIFY ( SERVICE_OBJECTIVE = 'GP_S_Gen5_1') ;

Modifica della configurazione serverless

Usare PowerShell.

Usa Set-AzSqlDatabase per modificare il massimo o minimo vCore e il ritardo di pausa automatica. Usa i parametri MaxVcore, MinVcore e AutoPauseDelayInMinutes.

La stessa sintassi PowerShell è usata sia per General Purpose che per Hyperscale. Attualmente, la sospensione automatica e la riattivazione automatica serverless sono una funzionalità in anteprima di database SQL di Azure Hyperscale.

Ad esempio, per modificare MaxVcore, MinVcore o AutoPauseDelayInMinutes

$resourceGroupName = "<resource group name>"
$serverName = "<logical SQL server name>"
$databaseName = "<new database name>"

$params = @{
    ResourceGroupName = $resourceGroupName
    ServerName = $serverName
    DatabaseName = $databaseName
    MinVcore = 1
    MaxVcore = 4
    AutoPauseDelayInMinutes = 1440
}
Set-AzSqlDatabase @params

Utilizzare l'interfaccia della riga di comando di Azure

Usare az sql db update per modificare il numero massimo o minimo di vCore e il ritardo di pausa automatica. Usa i parametri capacity, min-capacity e auto-pause-delay.

La stessa sintassi interfaccia della riga di comando di Azure è usata sia per General Purpose che per Hyperscale. Attualmente, la sospensione automatica e la riattivazione automatica serverless sono una funzionalità in anteprima di database SQL di Azure Hyperscale.

Ad esempio, modificare il database per utilizzare un numero minimo o massimo diverso di vCore, oppure modificare il ritardo di pausa automatica:

$resourceGroupName = "<resource group name>"
$serverName = "<logical SQL server name>"
$databaseName = "<database name>"

az sql db update -g $resourceGroupName `
-s $serverName `
-n $databaseName `
--min-capacity 1 `
--capacity 4 `
--auto-pause-delay 1440