Last active
August 12, 2021 14:18
-
-
Save joomoraes/d073a9e282e4991e30d658783d155888 to your computer and use it in GitHub Desktop.
Método de Verificação de Transections Pendentes SQL
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Procedimento de Kill_Query comum
_Procedimentos em Mysql)
Para obter o Status de execução após a finalização [microsoft_sqlServer]
Tome cuidado ao usar este, ele mata todas as transction do DB [microsoft_sqlServer]