sql >> Database >  >> RDS >> Sqlserver

Hoe de reden van de impasse in sql server ro14 te vinden?

Deadlock-informatie wordt vastgelegd door de system_health Standaard uitgebreide tracering van gebeurtenissen. Het is niet nodig om extra traceervlaggen aan te zetten.

Informatie van de xml_deadlock event kan worden bekeken vanuit SSMS Object Explorer (Management-->Extended Events-->Sessions-system_health) of met T-SQL. Hieronder vindt u een voorbeeldquery om de deadlock xml van het bestandsdoel te halen. Je kunt de deadlock xml ook opslaan in een bestand met een xdl extensie en open het bestand in SSMS voor een grafische weergave van de impasse.

--get xml_deadlock_report from system_health session file target
WITH
      --get full path to current system_health trace file
      CurrentSystemHealthTraceFile AS (
        SELECT CAST(target_data AS xml).value('(/EventFileTarget/File/@name)[1]', 'varchar(255)') AS FileName
        FROM sys.dm_xe_session_targets
        WHERE
            target_name = 'event_file'
            AND CAST(target_data AS xml).value('(/EventFileTarget/File/@name)[1]', 'varchar(255)') LIKE '%\system[_]health%'
    )
      --get trace folder name and add base name of system_health trace file with wildcard
    , BaseSystemHealthFileName AS (
        SELECT 
            REVERSE(SUBSTRING(REVERSE(FileName), CHARINDEX(N'\', REVERSE(FileName)), 255)) + N'system_health*.xel' AS FileNamePattern
        FROM CurrentSystemHealthTraceFile
        )
      --get xml_deadlock_report events from all system_health trace files
    , DeadLockReports AS (
        SELECT CAST(event_data AS xml) AS event_data
        FROM BaseSystemHealthFileName
        CROSS APPLY sys.fn_xe_file_target_read_file ( FileNamePattern, NULL, NULL, NULL) AS xed
        WHERE xed.object_name like 'xml_deadlock_report'
    )
--display 10 most recent deadlocks
SELECT TOP 10
      DATEADD(hour, DATEDIFF(hour, SYSUTCDATETIME(), SYSDATETIME()), event_data.value('(/event/@timestamp)[1]', 'datetime2')) AS LocalTime
    , event_data AS DeadlockReport
FROM DeadLockReports
ORDER BY LocalTime ASC;


  1. Hoe maak je websites met Java?

  2. Index gebruiken, tijdelijk gebruiken, filesort gebruiken - hoe dit op te lossen?

  3. MySQL-database onder versiebeheer zetten?

  4. JSP/Servlets:Hoe upload ik een zip-bestand, pak het uit en pak het CSV-bestand uit?