Skip to content

Instantly share code, notes, and snippets.

@joomoraes
Last active August 12, 2021 14:18
Show Gist options
  • Save joomoraes/d073a9e282e4991e30d658783d155888 to your computer and use it in GitHub Desktop.
Save joomoraes/d073a9e282e4991e30d658783d155888 to your computer and use it in GitHub Desktop.
Método de Verificação de Transections Pendentes SQL
SELECT
trans.session_id AS [SESSION ID],
ESes.host_name AS [HOST NAME],login_name AS [Login NAME],
trans.transaction_id AS [TRANSACTION ID],
tas.name AS [TRANSACTION NAME],tas.transaction_begin_time AS [TRANSACTION
BEGIN TIME],
tds.database_id AS [DATABASE ID],DBs.name AS [DATABASE NAME]
FROM sys.dm_tran_active_transactions tas
JOIN sys.dm_tran_session_transactions trans
ON (trans.transaction_id=tas.transaction_id)
LEFT OUTER JOIN sys.dm_tran_database_transactions tds
ON (tas.transaction_id = tds.transaction_id )
LEFT OUTER JOIN sys.databases AS DBs
ON tds.database_id = DBs.database_id
LEFT OUTER JOIN sys.dm_exec_sessions AS ESes
ON trans.session_id = ESes.session_id
WHERE ESes.session_id IS NOT NULL
@joomoraes
Copy link
Author

joomoraes commented Aug 12, 2021

Transctions geralmente ficam pendentes quando você realiza alguma alteração no banco de dados cujo uma aplicação dependa dele e está em execução, então a sua requisição é atribuída dentro do banco de dados, mas fica pendurada dentro da execução no sistema de forma que impeça o funcionamento adequado do sistema

Para solucionar problemas de transctions pendentes deve matar a execução dentro do DB com:

Procedimento Simples de kill-task

KILL "Id"

Procedimento de Kill_Query comum

KILL QUERY "Id"

_Procedimentos em Mysql)

killall -9 mysql
killall -9 mysqld
killall -9 mysqld_safe

Para obter o Status de execução após a finalização [microsoft_sqlServer]

KILL 53;
KILL 54 WITH STATUSONLY;
GO

Tome cuidado ao usar este, ele mata todas as transction do DB [microsoft_sqlServer]

KILL "Id"
GO
EXEC sp_who2
GO

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment