Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Truy vấn SQL để giải quyết các bế tắc trong SQL SERVER 2008

Bạn có thể sử dụng deadlock graph và thu thập thông tin bạn yêu cầu từ tệp nhật ký.

Cách duy nhất tôi có thể đề xuất là tìm hiểu thông tin bằng cách sử dụng EXEC SP_LOCK (Sắp không được dùng nữa), EXEC SP_WHO2 hoặc sys.dm_tran_locks bảng.

SELECT  L.request_session_id AS SPID, 
    DB_NAME(L.resource_database_id) AS DatabaseName,
    O.Name AS LockedObjectName, 
    P.object_id AS LockedObjectId, 
    L.resource_type AS LockedResource, 
    L.request_mode AS LockType,
    ST.text AS SqlStatementText,        
    ES.login_name AS LoginName,
    ES.host_name AS HostName,
    TST.is_user_transaction as IsUserTransaction,
    AT.name as TransactionName,
    CN.auth_scheme as AuthenticationMethod
FROM    sys.dm_tran_locks L
    JOIN sys.partitions P ON P.hobt_id = L.resource_associated_entity_id
    JOIN sys.objects O ON O.object_id = P.object_id
    JOIN sys.dm_exec_sessions ES ON ES.session_id = L.request_session_id
    JOIN sys.dm_tran_session_transactions TST ON ES.session_id = TST.session_id
    JOIN sys.dm_tran_active_transactions AT ON TST.transaction_id = AT.transaction_id
    JOIN sys.dm_exec_connections CN ON CN.session_id = ES.session_id
    CROSS APPLY sys.dm_exec_sql_text(CN.most_recent_sql_handle) AS ST
WHERE   resource_database_id = db_id()
ORDER BY L.request_session_id

http://www.sqlmag .com / article / sql-server-profiler / collect-deadlock-information-with-deadlock-graph

http://weblogs.sqlteam.com/mladenp/archive/2008/04/29/SQL-Server-2005-Get-full-information-about-transaction-locks.aspx



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:Trích xuất siêu dữ liệu bảng (mô tả, trường và kiểu dữ liệu của chúng)

  2. Tác vụ dọn dẹp bảo trì SQL hoạt động nhưng không xóa

  3. Thông báo truy vấn SQL Server trong JAVA

  4. Cách di chuyển công việc máy chủ SQL từ một phiên bản máy chủ SQL sang phiên bản khác

  5. Làm cách nào để lấy tên cột từ một bảng trong SQL Server?