Risolvere i problemi relativi a un pool SQL dedicato (in precedenza SQL DW) in Azure Synapse Analytics

In questo articolo sono elencati i problemi comuni relativi alla risoluzione dei problemi nel pool SQL dedicato (in precedenza SQL Data Warehouse) in Azure Synapse Analytics.

Connessione

Problema Risoluzione
Accesso non riuscito per l'utente 'NT AUTHORITY\ANONYMOUS LOGON'. (Microsoft SQL Server, Errore: 18456) Questo errore si verifica quando un utente di Microsoft Entra tenta di connettersi al database master, ma non ha un utente in master. Per risolvere il problema, specificare il pool SQL dedicato (in precedenza SQL Data Warehouse) a cui ci si vuole connettere al momento della connessione o aggiungere l'utente al database master. Per altre informazioni, vedi Panoramica sulla sicurezza.
L'entità server "MyUserName" non può accedere al database master nel contesto di sicurezza corrente. Impossibile aprire il database utente predefinito. Accesso non riuscito. Accesso non riuscito per l'utente 'MyUserName'. (Microsoft SQL Server, Errore: 916) Questo errore si verifica quando un utente di Microsoft Entra tenta di connettersi al database master, ma non ha un utente in master. Per risolvere il problema, specificare il pool SQL dedicato (in precedenza SQL Data Warehouse) a cui ci si vuole connettere al momento della connessione o aggiungere l'utente al database master. Per altre informazioni, vedi Panoramica sulla sicurezza.
Errore CTAIP Questo errore può verificarsi quando è stato creato un account di accesso nel database master di SQL Server, ma non nel database SQL specifico. Se si verifica questo errore, vedere l'articolo Panoramica della sicurezza. Questo articolo illustra come creare un account di accesso e un utente nel database master e quindi come creare un utente in un database SQL.
Blocco da parte del firewall I pool SQL dedicati (in precedenza SQL Data Warehouse) sono protetti da firewall per garantire che solo gli indirizzi IP noti abbiano accesso a un database. I firewall sono protetti per impostazione predefinita, il che significa che è necessario abilitare in modo esplicito un indirizzo IP o un intervallo di indirizzi prima di potersi connettere. Per configurare il firewall per l'accesso, seguire la procedura descritta in Configurare l'accesso al firewall del server per l'indirizzo IP del client nella Procedura di configurazione del provisioning.
Impossibile connettersi con lo strumento o il driver Il pool SQL dedicato (in precedenza SQL Data Warehouse) consiglia di usare SQL Server Management Studio (SSMS), SSDT per Visual Studio o sqlcmd per eseguire query sui dati. Per altre informazioni sui driver e sulla connessione ad Azure Synapse, vedere gli articoli Driver per Azure Synapse e connettersi ad Azure Synapse.

Strumenti

Problema Risoluzione
In Esplora oggetti di Visual Studio mancano utenti di Microsoft Entra Questo è un problema noto Come soluzione alternativa è possibile visualizzare gli utenti in sys.database_principals. Vedere Autenticazione su Azure Synapse per altre informazioni sull'uso di Microsoft Entra ID con un pool SQL dedicato (in precedenza SQL Data Warehouse).
L'esecuzione manuale di script, l'uso della creazione guidata script o la connessione tramite SSMS sono lenti, si bloccano o generano errori Assicurarsi che gli utenti siano stati creati nel database master. Nelle opzioni di scripting, assicurarsi inoltre che l'edizione del motore impostata sia "Edizione Microsoft Azure Synapse Analytics" e che il tipo di motore sia "Database SQL di Microsoft Azure".
Errore della generazione di script in SSMS La generazione di uno script per il pool SQL dedicato (in precedenza SQL Data Warehouse) dedicato ha esito negativo se l'opzione "Genera script per oggetti dipendenti" è impostata su "True". Per risolvere il problema, gli utenti devono passare manualmente a Strumenti -> >Opzioni -> >Esplora oggetti di SQL Server -> >Genera script per oggetti dipendenti e impostare l'opzione su false

Inserimento e preparazione dei dati

Problema Risoluzione
L'esportazione di stringhe vuote tramite CETAS comporterà valori NULL nei file Parquet e ORC. Se si esportano stringhe vuote da colonne con vincoli NOT NULL, CETAS genererà record rifiutati e l'esportazione potrebbe avere esito negativo. Rimuovere stringhe vuote o la colonna che causa l'errore nell'istruzione SELECT di CETAS.
Il caricamento di un valore non compreso nell'intervallo da 0 a 127 in una colonna tinyint per il formato di file Parquet e ORC non è supportato. Specificare un tipo di dati più grande per la colonna di destinazione.
Istruzione Msg 105208, Level 16, State 1, Line 1 COPY non riuscita con l'errore seguente durante la convalida del valore dell'opzione "FROM": "105200;COPY statement failed because the value for option "FROM" is invalid". Attualmente, l'inserimento di dati usando il comando COPY in un account di Archiviazione di Azure che usa la nuova funzionalità di partizionamento del DNS genera un errore. La funzionalità di partizione del DNS consente ai clienti di creare fino a 5000 account di archiviazione per sottoscrizione. Per risolvere il problema, effettuare il provisioning di un account di archiviazione in una sottoscrizione che non usa la nuova funzionalità di partizione del DNS di Archiviazione di Azure (attualmente in anteprima pubblica).

Prestazioni

Problema Risoluzione
Risoluzione dei problemi di prestazioni delle query Se si sta cercando di risolvere i problemi relativi a una determinata query, vedere l'articolo su come imparare a monitorare le query.
Problemi di spazio di tempdb Monitorare l'utilizzo dello spazio di TempDB. Le cause più comuni dell'esaurimento dello spazio di tempdb sono:
- Risorse allocate alla query insufficienti, che causano l'espansione dei dati in tempdb. Vedere Gestione dei carichi di lavoro
- Statistiche mancanti o non aggiornate, che causano uno spostamento eccessivo dei dati. Per informazioni dettagliate su come creare statistiche, vedere Gestione delle statistiche nelle tabelle
Spazio - tempdb allocato per livello di servizio. Il ridimensionamento del pool SQL dedicato (in precedenza SQL Data Warehouse) a un'impostazione DWU superiore alloca più spazio tempdb.
Piani e prestazioni delle query di scarsa qualità sono spesso causati dalla mancanza di statistiche La causa più comune di prestazioni di scarsa qualità è la mancanza di statistiche per le tabelle. Per conoscere i dettagli su come creare statistiche e sui motivi per cui sono fondamentali per le prestazioni, vedere Gestione delle statistiche nelle tabelle.
Concorrenza bassa/query in coda Comprendere la gestione del carico di lavoro è importante per capire come bilanciare l'allocazione di memoria con la concorrenza.
Come implementare le procedure consigliate L'articolo Procedure consigliate per il pool SQL dedicato (in precedenza SQL Data Warehouse) è un ottimo punto di partenza per informazioni su come migliorare le prestazioni delle query.
Come migliorare le prestazioni con la scalabilità La soluzione per aumentare le prestazioni consiste a volte nell'aggiungere semplicemente maggiore potenza di calcolo alle query ridimensionando il pool SQL dedicato (in precedenza SQL Data Warehouse).
Scarse prestazioni delle query a causa di scarsa qualità degli indici A volte le query possono rallentare a causa della scarsa qualità degli indici columnstore. Per altre informazioni, vedere Ricompilare gli indici per migliorare la qualità dei segmenti.

Gestione del sistema

Problema Risoluzione
Messaggio 40847: Non è stato possibile eseguire l'operazione perché il server avrebbe superato la quota di DTU consentita di 45000. Ridurre il DWU del database che si sta tentando di creare oppure richiedere un aumento della quota.
Analisi dell'uso dello spazio Per comprendere l'uso dello spazio nel sistema, vedere Dimensioni delle tabelle .
Aiuto nella gestione delle tabelle Per informazioni su come gestire le tabelle, vedere la Panoramica sulle tabelle. Per altre informazioni, vedere Tipi di dati di una tabella, Distribuzione di una tabella, Indicizzazione di una tabella, Partizionamento di una tabella, Gestione delle statistiche di una tabella e Tabelle temporanee.
L'indicatore di stato TDE (Transparent Data Encryption) non viene aggiornato nel portale di Azure È possibile visualizzare lo stato di TDE tramite PowerShell.

Differenze rispetto al database SQL

Problema Risoluzione
Funzionalità non supportate del database SQL Vedere Funzionalità non supportate delle tabelle.
Tipi di dati non supportati del database SQL Vedere Tipi di dati non supportati.
Limitazioni delle stored procedure Per capire alcune limitazioni delle stored procedure, vedere Limitazioni delle stored procedure.
Le UDF non supportano istruzioni SELECT Si tratta di una limitazione corrente delle UDF. Per conoscere la sintassi supportata, vedere CREATE FUNCTION.

Passaggi successivi

Se non si riesce a trovare una soluzione al problema, ecco alcune altre risorse che è possibile provare.