Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak zaimplementować rejestrowanie i raportowanie błędów w procedurach składowanych SQL?

To nie pomoże w tej chwili, ale może zainteresować ludzi korzystających z SQL Server 2008. W SQL Server 2008 XEvents może służyć do rejestrowania wszystkich szczegółów błędów (w tym tekstu instrukcji) w centralnej lokalizacji.

IF EXISTS(SELECT * FROM sys.server_event_sessions WHERE name='ErrorLogger')
    DROP EVENT SESSION [ErrorLogger] ON SERVER;
CREATE EVENT SESSION [ErrorLogger]
ON SERVER
ADD EVENT sqlserver.error_reported(
     ACTION (sqlserver.sql_text)
     WHERE (([severity]>(10))))
ADD TARGET package0.asynchronous_file_target(
     SET filename='c:\temp\error_logger.xel', metadatafile='c:\temp\error_logger.xem')
WITH (MAX_MEMORY = 4096KB, EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS, 
MAX_DISPATCH_LATENCY = 30 SECONDS, MAX_EVENT_SIZE = 0KB, 
MEMORY_PARTITION_MODE = NONE, TRACK_CAUSALITY = OFF, STARTUP_STATE = ON)

ALTER EVENT SESSION [ErrorLogger] ON SERVER STATE = START

I przejrzeć błędy

SELECT CONVERT (XML, event_data) AS data
        FROM sys.fn_xe_file_target_read_file ('C:\Temp\error_logger*.xel', 'C:\Temp\error_logger*.xem', NULL, NULL)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyszukiwanie następnego wiersza w zapytaniu SQL i usuwanie go tylko wtedy, gdy poprzedni wiersz pasuje

  2. Znajdowanie kolejności węzłów w dokumencie XML w SQL Server

  3. Spłaszczenie tabeli z 1 wierszem na tabelę par klucz-wartość

  4. Jak zmodyfikować zmienną w SSIS?

  5. Czy istnieje sposób przekonwertowania varchar na DATETIME w SQL SERVER 2008?