Configurare e gestire le prestazioni
Conoscere le funzionalità di Azure SQL è importante per assicurare prestazioni coerenti. È anche importante comprendere le opzioni e le restrizioni per la configurazione in Istanza gestita di SQL di Azure e nel database SQL di Azure che possono influire sulle prestazioni. È incluso quanto segue:
- Argomenti del
tempdb
database - Configurazione dei database
- Configurazione di file e filegroup
- Configurazione del massimo grado di parallelismo
- Uso di Resource Governor
- Gestione di indici e statistiche
Tempdb
Il tempdb
database di sistema è una risorsa condivisa importante usata dalle applicazioni. Garantire la configurazione corretta di tempdb
può influire sulla capacità di offrire prestazioni coerenti. Si usa tempdb
nello stesso modo sia per SQL Server che per AZURE SQL. Si noti, tuttavia, che la possibilità di configurare tempdb
è diversa, tra cui la posizione dei file, il numero e le dimensioni dei file e tempdb
le opzioni di configurazione.
I file di database di tempdb
vengono sempre archiviati automaticamente nelle unità SSD locali, quindi le prestazioni di I/O non devono essere un problema.
I professionisti di SQL Server usano spesso più file di database per partizionare le allocazioni per tempdb
le tabelle. Per database SQL di Azure, il numero di file viene ridimensionato con il numero di vCore (ad esempio, due vCore è uguale a quattro file) con un massimo di 16. Il numero di file non è configurabile tramite T-SQL tempdb
rispetto a , ma è possibile configurarlo modificando l'opzione di distribuzione. La dimensione massima di tempdb
viene ridimensionata per numero di vCore. Si ottengono 12 file con Istanza gestita di SQL, indipendentemente dal numero di vCore.
L'opzione MIXED_PAGE_ALLOCATION
di database è impostata su OFF ed AUTOGROW_ALL_FILES
è impostata su ON. Non è possibile configurare questa impostazione, ma, come per SQL Server, queste sono le impostazioni predefinite consigliate.
La tempdb
funzionalità di ottimizzazione dei metadati introdotta in SQL Server 2019, che può alleviare un elevato conflitto di latch, non è attualmente disponibile in database SQL di Azure o Istanza gestita di SQL di Azure.
Configurazione del database
In genere, la configurazione del database viene eseguita con le istruzioni T-SQL ALTER DATABASE e ALTER DATABASE SCOPED CONFIGURATION. Molte delle opzioni di configurazione per le prestazioni sono disponibili per Azure SQL. Per informazioni sulle differenze tra SQL Server, database SQL di Azure e Istanza gestita di SQL di Azure, vedere le informazioni di riferimento su ALTER DATABA edizione Standard edizione Standard SCOPED CONFIGURATION T-SQL.
Per le prestazioni, un'opzione che non è possibile modificare è il modello di recupero del database. Per impostazione predefinita, viene usato il modello di recupero con registrazione completa. Ciò garantisce che il database soddisfi i contratti di servizio di Azure. La registrazione minima per le operazioni in blocco non è quindi supportata. La registrazione minima per le operazioni bulk è supportata per tempdb
.
File e filegroup
I professionisti di SQL Server spesso usano file e filegroup per migliorare le prestazioni di I/O tramite il posizionamento di file fisici. Azure SQL non consente agli utenti di collocare i file in sistemi di dischi specifici. Azure SQL prevede tuttavia impegni di risorse per le prestazioni di I/O per quanto riguarda velocità, operazioni di I/O al secondo e latenze. In questo modo, l'astrazione dell'utente dal posizionamento fisico dei file può essere un vantaggio.
Il database SQL di Azure include un solo file di database (il livello Hyperscale in genere ne prevede diversi) e la dimensione massima viene configurata tramite le interfacce di Azure. Non sono disponibili funzionalità per creare file aggiuntivi.
Istanza gestita di SQL di Azure supporta l'aggiunta di file di database e la configurazione delle dimensioni, ma non il posizionamento fisico dei file. È possibile usare il numero di file e dimensioni dei file per Istanza gestita di SQL per migliorare le prestazioni di I/O. I filegroup definiti dall'utente sono inoltre supportati per Istanza gestita di SQL per scopi di gestibilità.
Configurazione di MAXDOP
Il massimo grado di parallelismo (MAXDOP, Max Degree Of Parallelism) può influire sulle prestazioni delle singole query. SQL Server e Azure SQL gestiscono MAXDOP nello stesso modo. È possibile configurare MAXDOP in Azure SQL in modo simile a quanto avviene in SQL Server, usando le tecniche seguenti:
- L'istruzione ALTER DATABASE SCOPED CONFIGURATION per configurare MAXDOP è supportata per Azure SQL.
- La stored procedure sp_configure per "max degree of parallelism" è supportata per Istanza gestita di SQL.
- Gli hint per la query MAXDOP sono completamente supportati.
- La configurazione di MAXDOP con Resource Governor è supportata per Istanza gestita di SQL.
Resource Governor
Resource Governor è una funzionalità di SQL Server che è possibile usare per controllare l'uso delle risorse per i carichi di lavoro tramite I/O, CPU e memoria. Si noti che per i pool e i gruppi di carico di lavoro definiti dall'utente, la funzionalità Resource Governor è supportata per Istanza gestita di SQL ma non per il database SQL di Azure.
Manutenzione degli indici
La creazione e la manutenzione degli indici per Azure SQL sono esattamente le stesse di SQL Server. La creazione, la ricompilazione e la riorganizzazione degli indici sono ad esempio completamente supportate, come con SQL Server. Sono inclusi gli indici online e ripristinabili.
Manutenzione delle statistiche
SQL Server e Azure SQL gestiscono le statistiche nello stesso modo. Le opzioni per le statistiche automatiche per i database sono disponibili in entrambe le soluzioni.
Dopo aver appreso alcune delle opzioni di configurazione e manutenzione per le prestazioni per Azure SQL, completare la verifica delle conoscenze seguente prima di procedere all'unità successiva.