Gestire la potenza di calcolo in Azure SQL Data Warehouse (PowerShell)

Prima di iniziare

Installare la versione più recente di Azure PowerShell.

Nota

Per usare Azure PowerShell con SQL Data Warehouse, è necessario installare Azure PowerShell 1.0.3 o versione successiva. Per verificare la versione corrente, eseguire il comando Get-Module -ListAvailable -Name Azure. È possibile installare la versione più recente usando l'Installazione guidata piattaforma Web Microsoft. Per altre informazioni, vedere Come installare e configurare Azure PowerShell.

Introduzione ai cmdlet di Azure PowerShell

Attività iniziali

  1. Aprire Azure PowerShell.
  2. Al prompt di PowerShell, eseguire questi comandi per accedere ad Azure Resource Manager e selezionare la sottoscrizione.

    Login-AzureRmAccount
    Get-AzureRmSubscription
    Select-AzureRmSubscription -SubscriptionName "MySubscription"
    

Ridimensionare la potenza di calcolo

È possibile aumentare o ridurre la potenza di calcolo agendo sulle unità Data Warehouse (DWU). Il valore predefinito è 400 DWU. Le risorse di calcolo aumentano in modo lineare all'aumentare delle DWU. Ad esempio, modificando il valore da 400 a 800 DWU viene raddoppiato il numero delle risorse di calcolo.

Per un elenco delle impostazioni DWU correnti, vedere l'obiettivo del livello di servizio nell'articolo relativo ai limiti di capacità del servizio.

Per modificare il numero di DWU usare il cmdlet PowerShell Set-AzureRmSqlDatabase. L'esempio seguente imposta l'obiettivo del livello di servizio su DW1000 per il database MySQLDW ospitato nel server MyServer.

Set-AzureRmSqlDatabase -DatabaseName "MySQLDW" -ServerName "MyServer" -RequestedServiceObjectiveName "DW1000"

Sospendere le risorse di calcolo

Per ridurre i costi, è possibile sospendere e riprendere le risorse di calcolo su richiesta. Ad esempio, se non si usa il database durante la notte e nei fine settimana, è possibile sospenderlo in questi intervalli di tempo e riprenderne l'esecuzione durante il giorno. Mentre il database è sospeso, non verranno addebitate DWU.

Quando si sospende un database:

  • Le risorse di calcolo e memoria vengono restituite al pool di risorse disponibili nel data center.
  • I costi delle DWU sono pari a zero per la durata della pausa.
  • L'archivio dati non è interessato e i dati rimangano invariati.
  • SQL Data Warehouse annulla tutte le operazioni in esecuzione o in coda.

Per sospendere l'esecuzione di un database, usare il cmdlet Suspend-AzureRmSqlDatabase. L'esempio seguente sospende il database Database02 ospitato sul server Server01. Il server appartiene al gruppo di risorse di Azure ResourceGroup1.

Nota

Se il server è foo.database.windows.net, usare "foo" come nome server nei cmdlet di PowerShell.

Suspend-AzureRmSqlDatabase –ResourceGroupName "ResourceGroup1" `
–ServerName "Server01" –DatabaseName "Database02"

Come variazione, il database dell'esempio seguente viene recuperato nell'oggetto $database. L'oggetto viene quindi inviato tramite pipe a Suspend-AzureRmSqlDatabase. I risultati vengono archiviati nell'oggetto resultDatabase. Il comando finale mostra i risultati.

$database = Get-AzureRmSqlDatabase –ResourceGroupName "ResourceGroup1" `
–ServerName "Server01" –DatabaseName "Database02"
$resultDatabase = $database | Suspend-AzureRmSqlDatabase
$resultDatabase

Riavviare le risorse di calcolo

Quando si riattiva un database:

  • SQL Data Warehouse acquisisce risorse di calcolo e di memoria per l'impostazione DWU.
  • Verranno ripresi gli addebiti per le ore di calcolo di DWU.
  • I dati saranno disponibili.
  • Sarà necessario riavviare le query del carico di lavoro.

Per avviare un database, usare il cmdlet Resume-AzureRmSqlDatabase. L'esempio seguente avvia il database Database02 ospitato sul server Server01. Il server appartiene al gruppo di risorse di Azure ResourceGroup1.

Resume-AzureRmSqlDatabase –ResourceGroupName "ResourceGroup1" `
–ServerName "Server01" -DatabaseName "Database02"

Come variazione, il database dell'esempio seguente viene recuperato nell'oggetto $database. L'oggetto viene quindi inviato tramite pipe a Resume-AzureRmSqlDatabase e i risultati vengono archiviati in $resultDatabase. Il comando finale mostra i risultati.

$database = Get-AzureRmSqlDatabase –ResourceGroupName "ResourceGroup1" `
–ServerName "Server01" –DatabaseName "Database02"
$resultDatabase = $database | Resume-AzureRmSqlDatabase
$resultDatabase

Controllare lo stato del database

Come illustrato negli esempi precedenti, è possibile usare il cmdlet Get-AzureRmSqlDatabase per ottenere informazioni su un database, controllando quindi lo stato, oppure usarlo come argomento.

Get-AzureRmSqlDatabase [-ResourceGroupName] <String> [-ServerName] <String> [[-DatabaseName] <String>]
 [-InformationAction <ActionPreference>] [-InformationVariable <String>] [-Confirm] [-WhatIf]
 [<CommonParameters>]

Verrà visualizzato un risultato simile al seguente:

ResourceGroupName             : nytrg
ServerName                    : nytsvr
DatabaseName                  : nytdb
Location                      : West US
DatabaseId                    : 86461aae-8e3d-4ded-9389-ac9d4bc69bbb
Edition                       : DataWarehouse
CollationName                 : SQL_Latin1General_CP1CI_AS
CatalogCollation              :
MaxSizeBytes                  : 32212254720
Status                        : Online
CreationDate                  : 10/26/2016 4:33:14 PM
CurrentServiceObjectiveId     : 620323bf-2879-4807-b30d-c2e6d7b3b3aa
CurrentServiceObjectiveName   : System2
RequestedServiceObjectiveId   : 620323bf-2879-4807-b30d-c2e6d7b3b3aa
RequestedServiceObjectiveName :
ElasticPoolName               :
EarliestRestoreDate           : 1/1/0001 12:00:00 AM

in cui è quindi possibile controllare lo stato del database. Nel caso in questione, il database è online.

Quando si esegue questo comando, è possibile ricevere un valore di stato Online, In pausa, Ripresa, Ridimensionamento e Sospeso.

Passaggi successivi

Per altre attività di gestione, vedere Panoramica della gestione.