2010-12-15 17 views

Respuesta

108

Para todas las bases de datos de consulta sys.sysprocesses

SELECT * FROM sys.sysprocesses WHERE open_tran = 1 

Para el actual uso de bases de datos:

DBCC OPENTRAN 
19

DBCC OPENTRAN ayuda a identificar las transacciones activas que pueden estar impidiendo truncamiento de registro. DBCC OPENTRAN muestra información sobre la transacción activa más antigua y las transacciones replicadas distribuidas y no distribuidas más antiguas, si existen, dentro del registro de transacciones de la base de datos especificada. Los resultados se muestran solo si hay una transacción activa que existe en el registro o si la base de datos contiene información de replicación.

Aparece un mensaje informativo si no hay transacciones activas en el registro.

DBCC OPENTRAN

5

se puede obtener toda la información de la transacción activa con la ayuda de abajo consulta

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 

y dará a continuación resultado similar enter image description here

y cerrar la transacción por la ayuda debajo MATANZA consulta refiriendo ID de sesión

KILL 77 
+0

Vaya, éste es muy bonito, me gusta la cantidad de datos proporcionados, el único inconveniente es que necesita ser administrador para poder ejecutarlo, DBCC OPENTRAN necesita menos permisos. Pero aún así ... muy bueno – Yogurtu

Cuestiones relacionadas