Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara menerapkan pencatatan dan pelaporan kesalahan dalam prosedur tersimpan SQL?

Ini tidak akan membantu Anda saat ini tetapi mungkin menarik bagi orang-orang di SQL Server 2008. Pada SQL Server 2008 XEvents dapat digunakan untuk mencatat semua detail kesalahan (termasuk teks pernyataan) ke lokasi pusat.

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

Dan untuk meninjau kesalahan

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. Pencarian String Wildcard Trigram di SQL Server

  2. Cara menggunakan variabel string dalam pernyataan sql

  3. Perbaiki Msg 241 "Konversi gagal saat mengonversi tanggal dan/atau waktu dari string karakter" di SQL Server

  4. Tipe data apa yang harus digunakan untuk menyimpan nomor telepon di SQL Server 2005?

  5. Bagaimana saya bisa memberi tahu program saya ketika database telah diperbarui?