Configurare il database SQL di Azure e l'Istanza gestita di SQL di Azure

Completato

Si è verificato che la distribuzione è stata completata e si conoscono le risorse disponibili. Ora potrebbe essere necessario configurare l'istanza gestita di SQL, il database SQL o i database all'interno di un'istanza gestita. Questi sono i cosiddetti database gestiti.

Configurare l'Istanza gestita di SQL di Azure

Istanza gestita di SQL di Azure è essenzialmente un'istanza di SQL Server gestita. Molte configurazioni disponibili in SQL Server si applicano anche in questo caso. È ad esempio possibile eseguire la configurazione usando sp_configure e alcuni flag di traccia globali. Sono disponibili anche opzioni per tempdb, model e master e si ha il controllo sulla configurazione e sulla connettività di rete.

Configurazione del database

Per i database gestiti in Istanza gestita di SQL di Azure e il database SQL di Azure, sono disponibili opzioni con il comando ALTER DATABASE. Sono presenti opzioni SET ed è possibile selezionare il valore di dbcompat desiderato. Questo valore può essere utile nelle migrazioni. È anche possibile usare il comando ALTER DATABASE per modificare l'edizione o il livello di servizio.

Nel database SQL di Azure non si ha accesso alla configurazione sottostante del file. In Istanza gestita di SQL di Azure è possibile eseguire la manutenzione del file. Come per Istanza gestita di SQL, sono disponibili opzioni per la connettività di rete, la configurazione di rete e la gestione dello spazio.

Nel database SQL di Azure, in particolare, è abilitato il rilevamento delle pagine non aggiornate e vengono sempre usate le regole di confronto del server predefinite SQL_Latin1_General_CP1_CI_AS. Di seguito sono riportate anche le opzioni predefinite impostate su ON:

  • SNAPSHOT_ISOLATION_STATE
  • READ_COMMITTED_SNAPSHOT
  • FULL RECOVERY
  • CHECKSUM
  • QUERY_STORE
  • TDE
  • ACCELERATED_DATABASE_RECOVERY

Gestione processi

SQL Server Agent fornisce un sistema di configurazione e pianificazione per gli utenti di SQL Server. È possibile ottenere una funzionalità equivalente in Azure SQL tramite le opzioni seguenti:

SQL Agent in Istanza gestita di SQL

SQL Agent è un servizio completamente supportato con Istanza gestita di SQL di Azure. I processi di SQL Agent sono supportati solo per i passaggi dei processi T-SQL e SQL Server Integration Services. I passaggi della shell dei comandi non sono supportati. Anche se gli avvisi non sono supportati, le notifiche di posta elettronica sono supportate tramite Posta elettronica database.

Processi elastici per il database SQL

Il database SQL di Azure non supporta SQL Server Agent. È tuttavia possibile usare il servizio Agente processo elastico in Azure per creare e pianificare i processi. I processi sono script T-SQL che è possibile eseguire su diversi database, inclusa l'esecuzione parallela.

Azure Automation

È possibile usare il servizio Automazione di Azure per orchestrare i processi attraverso un concetto denominato runbook. Un runbook può essere costituito da codice come PowerShell o Python e può essere indirizzato a qualsiasi risorsa di Azure.

Opzioni di configurazione limitate

Istanza gestita di SQL di Azure e i servizi di database SQL di Azure limitano le configurazioni seguenti. Queste restrizioni potrebbero influire sul modo in cui alcune attività vengono eseguite.

  • Non è possibile arrestare o riavviare i server.
  • Non è possibile usare:
    • Inizializzazione file istantanea.
    • Pagine bloccate in memoria.
    • FILESTREAM e gruppi di disponibilità.
    • Regole di confronto del server. In Istanza gestita di SQL è possibile selezionare le regole di confronto del server durante la distribuzione, ma non modificarle.
    • Parametri di avvio.
    • Segnalazione errori e feedback dei clienti.
    • ALTER SERVER CONFIGURATION.
    • Configurazione di ERRORLOG.
  • La sicurezza in modalità mista viene forzata.
  • Il controllo di accesso viene eseguito tramite il controllo SQL.
  • L'account proxy server non è applicabile.

Istanza gestita di SQL di Azure e il database SQL sono offerte di piattaforma distribuita come servizio (PaaS). La limitazione di queste scelte non dovrebbe impedire la possibilità di usare completamente un servizio gestito di SQL Server.

Gestione dell'archiviazione

Per Istanza gestita di SQL di Azure esistono dimensioni massime possibili di archiviazione consentite per l'istanza in base all'SLO scelto. Si sceglie una risorsa di archiviazione massima per l'istanza fino a tali dimensioni massime possibili. Se si raggiunge il limite massimo di archiviazione, è possibile che venga visualizzato il messaggio 1105 per un database gestito o il messaggio 1133 per l'istanza.

Esattamente come per SQL Server, le dimensioni di un nuovo database saranno basate sulle dimensioni del database modello. Il database modello è costituito da un file di dati da 100 MB e da un file di log da 8 MB. Inoltre, come per SQL Server, le dimensioni del modello sono configurabili. È possibile modificare le dimensioni e il numero di file, ma non è possibile controllarne la posizione fisica. Microsoft assume impegni per le prestazioni di I/O in base alla distribuzione scelta. Inoltre, poiché nel livello di servizio per utilizzo generico viene usata l'archiviazione remota, le dimensioni del file di dati e del file di log possono compromettere le prestazioni.

Per il database SQL di Azure, esistono dimensioni massime possibili dei file di database in base all'SLO scelto. Si imposta Dimensioni massime dati su queste dimensioni massime possibili. Il valore di Maxsize per i file di database (definito dalla colonna sys.database_files.max_size) può aumentare fino a raggiungere il valore di Dimensioni massime dati.

Per comprendere i concetti di Dimensioni massime dati e di Maxsize, si consideri un esempio in cui viene distribuito un database per utilizzo generico da 1 TB (Dimensioni massime dati). In fase di distribuzione, il database richiede solo 500 GB circa e non 1 TB. Man mano che il database cresce e si avvicina al valore di Dimensioni massime dati, anche il valore di Maxsize per i file di database aumenta fino al livello di 1 TB.

Il log delle transazioni è in aggiunta alle dimensioni dei dati ed è incluso nell'importo che si paga per l'archiviazione. Viene troncato regolarmente a causa dei backup automatici, perché il ripristino accelerato del database è attivo per impostazione predefinita. Le dimensioni massime del log sono sempre il 30% delle dimensioni massime dei dati. Se ad esempio le dimensioni massime dei dati sono pari a 1 TB, le dimensioni massime del log delle transazioni sono 0,3 TB e il totale delle dimensioni massime dei dati e delle dimensioni del log è 1,3 TB.

Il livello Hyperscale del database SQL di Azure è diverso dagli altri livelli di servizio. Crea un database con dimensioni iniziali di 40 GB e aumenta automaticamente le dimensioni fino al limite di 100 TB. Il log delle transazioni ha una restrizione delle dimensioni fissa di 1 TB.

Architettura e criterio di connettività

Parte della configurazione del server logico del database SQL di Azure o della configurazione di Istanza gestita di SQL di Azure richiede di determinare la route di connessione ai database.

Per l'Istanza gestita di SQL di Azure, è possibile scegliere il tipo o il criterio di connessione durante la distribuzione. Nel database SQL di Azure è possibile scegliere il tipo di connessione dopo la distribuzione.

È possibile impostare il valore predefinito di Proxy per le connessioni all'esterno di Azure e reindirizzamento per le connessioni in Azure o configurare altri elementi.

Diagram of the connection policies in Azure SQL.

Al livello più alto, in modalità Proxy, tutte le connessioni vengono inviate tramite proxy tramite il gateway. In modalità di reindirizzamento, una volta che la connessione è stata stabilita e che usa il gateway, è possibile connettersi direttamente al database o all'istanza gestita. Il gateway è redirect-find-db nella figura precedente.

La connessione diretta (reindirizzamento) consente una latenza ridotta e una maggiore velocità effettiva, Richiede tuttavia anche l'apertura di porte aggiuntive per consentire le comunicazioni in ingresso e in uscita nell'intervallo compreso tra 11000 e 11999.

Nell'esercizio successivo verranno esposti alcuni comandi per la configurazione di Azure SQL con l'interfaccia della riga di comando di Azure. Quindi si procederà alla valutazione del proxy e dei criteri di reindirizzamento della connessione.

Verifica delle conoscenze

1.

Se le dimensioni massime dei dati nel database SQL di Azure sono pari a 10 GB, quali sono le dimensioni massime del log delle transazioni?

2.

Qual è il criterio di connessione predefinito per il database SQL di Azure e Istanza gestita di SQL di Azure?