Comprendere le funzionalità del linguaggio Transact-SQL per Azure Synapse Analytics

Completato

Azure Synapse Analytics supporta l'esecuzione di query su dati relazionali (endpoint SQL dedicati e serverless) e non relazionali (Azure Data Lake Storage Gen 2, Cosmos DB e Archiviazione BLOB di Azure) a livello di petabyte con Transact SQL, supportando il linguaggio SQL conforme ad ANSI.

Il linguaggio di query di Azure Synapse SQL supporta funzionalità diverse in base al modello di risorse in uso. La tabella seguente illustra le istruzioni Transact-SQL che funzionano con ogni modello di risorsa.

Istruzione T-SQL Dedicato Senza server
Istruzione SELECT
Istruzione INSERT No
Istruzione UPDATE No
Istruzione DELETE No
Istruzione merge No No
Transazioni
Etichette No
Caricamento dati No
Esportazione dei dati Sì, con CETAS Sì, con CETAS
Query tra database No
Funzioni predefinite (analisi, testo, valori di tabella)
Aggregazioni Aggregazioni predefinite di Transact-SQL Aggregazioni predefinite di Transact-SQL
Operatori
Flusso di controllo
Istruzioni DDL

Piani di esecuzione di query

In Synapse Analytics è possibile visualizzare il piano di esecuzione delle query per un pool SQL dedicato a livello di nodo di controllo e calcolo usando la verifica coerenza del database, DBCC PDW_SHOWEXECUTIONPLAN

Nota

Questo processo non è supportato dal pool SQL serverless in Azure Synapse Analytics.

Per vedere cosa è in esecuzione in un pool dedicato di Azure Synapse è possibile usare la query seguente:


SELECT [sql_spid], [pdw_node_id], [request_id], [dms_step_index], [type], [start_time], [end_time], [status], [distribution_id]  
FROM sys.dm_pdw_dms_workers   
WHERE [status] <> 'StepComplete' and [status] <> 'StepError'  
order by request_id, [dms_step_index];  

Dopo aver identificato un nodo da analizzare, è possibile usare il comando DBCC PDW_SHOWEXECUTIONPLAN per esaminare il piano di esecuzione per una distribuzione specifica e la relativa sessione specifica, come illustrato nell'esempio seguente:


DBCC PDW_SHOWEXECUTIONPLAN ( 1, 375 );