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

đóng / kết thúc giao dịch

Trước tiên, bạn nên tìm hiểu xem nó đang làm gì, nó đến từ đâu và nếu có, nó có thể chạy trong bao lâu nữa:

SELECT 
   r.[session_id],
   c.[client_net_address],
   s.[host_name],
   c.[connect_time],
   [request_start_time] = s.[last_request_start_time],
   [current_time] = CURRENT_TIMESTAMP,
   r.[percent_complete],
   [estimated_finish_time] = DATEADD
       (
           MILLISECOND,
           r.[estimated_completion_time], 
           CURRENT_TIMESTAMP
       ),
   current_command = SUBSTRING
       (
           t.[text],
           r.[statement_start_offset]/2,
           COALESCE(NULLIF(r.[statement_end_offset], -1)/2, 2147483647)
       ),
   module = COALESCE(QUOTENAME(OBJECT_SCHEMA_NAME(t.[objectid], t.[dbid])) 
       + '.' + QUOTENAME(OBJECT_NAME(t.[objectid], t.[dbid])), '<ad hoc>'),
   [status] = UPPER(s.[status])
 FROM
     sys.dm_exec_connections AS c
 INNER JOIN
     sys.dm_exec_sessions AS s
     ON c.session_id = s.session_id
 LEFT OUTER JOIN
     sys.dm_exec_requests AS r
     ON r.[session_id] = s.[session_id]
 OUTER APPLY
     sys.dm_exec_sql_text(r.[sql_handle]) AS t
 WHERE
     c.session_id = 54;

Nếu bạn tự tin rằng bạn có thể cắt đứt kết nối này, bạn có thể sử dụng:

KILL 54;

Chỉ cần lưu ý rằng tùy thuộc vào những gì phiên đang làm, nó có thể để lại dữ liệu và / hoặc ứng dụng đã gọi nó ở trạng thái kỳ lạ.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay đổi cột dữ liệu từ varchar (max) thành nvarchar (max) trong SQL Server 2008

  2. Làm cách nào để kiểm tra trạng thái sao chép SQL qua T-SQL?

  3. Đã có một đối tượng có tên '#columntable' trong cơ sở dữ liệu

  4. Làm thế nào để chờ trong 2 giây?

  5. Làm thế nào để cài đặt localdb riêng biệt?