Informazioni sugli errori del motore di database
Si applica a:SQL Server
database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics Analytics
Platform System (PDW)
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric
Gli errori generati dalla motore di database di Microsoft SQL Server hanno gli attributi descritti nella tabella seguente.
Attributo | Descrizione |
---|---|
Numero di errore | Numero di errore univoco per ogni messaggio di errore. |
Stringa del messaggio di errore | Il messaggio di errore include informazioni di diagnostica relative alla causa dell'errore. Molti messaggi di errore contengono variabili di sostituzione con informazioni specifiche, ad esempio il nome dell'oggetto che ha generato l'errore. |
Gravità | Indica il livello di gravità dell'errore. Gli errori con un livello di gravità basso, ad esempio 1 o 2, sono messaggi informativi o avvisi di basso livello, mentre gli errori che presentano un livello di gravità elevato segnalano problemi da risolvere immediatamente. Per altre informazioni sui livelli di gravità, vedere Gravità degli errori del Motore di database. |
Stato | Alcuni messaggi di errore possono essere generati in più punti del codice per il motore di database. L'errore 1105, ad esempio, può essere generato in risposta a più condizioni diverse. A ogni condizione specifica che genera un errore viene assegnato un codice di stato univoco. Quando si visualizzano database che contengono informazioni sui problemi noti, ad esempio la Microsoft Knowledge Base, è possibile utilizzare il numero di stato per determinare se il problema registrato è uguale all'errore riscontrato. Se ad esempio un articolo della Knowledge Base descrive un errore 1105 che presenta uno stato 2, mentre il messaggio di errore 1105 ricevuto dall'utente presenta uno stato 3, è probabile che la causa dell'errore sia diversa da quella indicata nell'articolo. Un tecnico del supporto Tecnico Microsoft può anche usare il codice di stato di un errore per trovare il percorso nel codice sorgente in cui viene generato il codice di errore. Queste informazioni possono fornire indicazioni aggiuntive utili per la diagnostica del problema. |
Nome della stored procedure | Rappresenta il nome della stored procedure o del trigger in cui si è verificato l'errore. |
Numero riga | Indica quale istruzione di un batch, di una stored procedure, di un trigger o di una funzione ha generato l'errore. |
Tutti i messaggi di errore di sistema e definiti dall'utente in un'istanza del motore di database sono contenuti nella vista del catalogo sys.messages. È possibile utilizzare l'istruzione RAISERROR per restituire errori definiti dall'utente a un'applicazione.
Tutte le API di database, ad esempio lo spazio dei nomi SQLClient di Microsoft .NET Framework, ActiveX Data Objects (ADO), OLE DB e Open Database Connessione ivity (ODBC), segnalano gli attributi di errore di base. Queste informazioni includono il numero di errore e la stringa di messaggio. Non tutte le API forniscono tuttavia anche tutti gli altri attributi dell'errore.
Informazioni su un errore che si verifica nell'ambito del blocco TRY di un try... Il costrutto CATCH può essere ottenuto nel codice Transact-SQL usando funzioni quali ERROR_LINE, ERROR_MESSAGE, ERROR_NUMBER, ERROR_PROCEDURE, ERROR_edizione Standard VERITY e ERROR_STATE nell'ambito del blocco CATCH associato. Per altre informazioni, vedere TRY...CATCH (Transact-SQL).
Esempi
Nell'esempio seguente viene eseguita una query sulla sys.messages
vista del catalogo per restituire un elenco di tutti i messaggi di errore di sistema e definiti dall'utente nel motore di database con testo in inglese (1033
).
SELECT
message_id,
language_id,
severity,
is_event_logged,
text
FROM sys.messages
WHERE language_id = 1033;
Per altre informazioni, vedere sys.messages (Transact-SQL).
Vedi anche
sys.messages (Transact-SQL)
RAI edizione Standard RROR (Transact-SQL)
@@ERROR (Transact-SQL)
PROVARE... CATCH (Transact-SQL)
ERROR_LINE (Transact-SQL)
ERROR_MESSAGE (Transact-SQL)
ERROR_NUMBER (Transact-SQL)
ERROR_PROCEDURE (Transact-SQL)
ERROR_edizione Standard VERITY (Transact-SQL)
ERROR_STATE (Transact-SQL)
Commenti e suggerimenti
Invia e visualizza il feedback per