Una domanda molto breve e diretta: voglio rilevare l'errore utilizzando try..catch e registrarlo in un file. È possibile in SQL Server 2008?Errore di registrazione in SQL Server 2008
Qualsiasi indicazione, aiuto sono i benvenuti.
Una domanda molto breve e diretta: voglio rilevare l'errore utilizzando try..catch e registrarlo in un file. È possibile in SQL Server 2008?Errore di registrazione in SQL Server 2008
Qualsiasi indicazione, aiuto sono i benvenuti.
Visualizza il log degli errori di SQL Server utilizzando SQL Server Management Studio o qualsiasi editor di testo.
Per impostazione predefinita, il registro degli errori si trova nei file Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG
e ERRORLOG.n
.
Attraversa Viewing the SQL Server Error Log pagina
Sì, è possibile.
Basta implementare try catch come descritto qui TRY...CATCH. La registrazione degli errori può essere registrata sia in applicazione che in sql scrivendo errori in una tabella.
Se si desidera accedere a un file, è possibile farlo utilizzando SQLCLR. Controllare la risposta qui
Ci sono alcune domande simili che si possono verificare.
Logging into table in SQL Server trigger
Best Practices - Stored Procedure Logging
Un altro approccio è quello di utilizzare Log4Sql
In questo modo, non esattamente di file, ma per eventlog, penso che la scrittura di file è possibile solo con procedure CLR:
BEGIN TRY
Do some error
END TRY
Begin CATCh
Declare @error nvarchar(max) = error_message()+' your data'
exec master..xp_logevent 50001, @error, 'error'
--Notify host application
RAISERROR(@error, 16, 1)
END CATCH
Messaggio 102, livello 15, stato 1, riga 2 Sintassi non corretta vicino a "Do". messaggio 102, livello 15, stato 1, riga 8 Sintassi non corretta vicino a 'messaggio_errore'. – Steam
corretto @blasto, ma è ovvio. Non è vero? –
Come funzionerà con un ROLLBACK in Begin Catch? –
Perché il downvote? L'unica risposta, che porta un esempio di scrittura in un file usando sqlclr. – hgulyan
Spiacente, perse 8-) +1 –