ver transaction transacciones terminar saber registro read quien open log full consultar como borro activas sql-server transaction-log

transaction - Cómo ver los registros de transacciones en SQL Server 2008



terminar transacciones sql server (3)

Accidentalmente borré un montón de datos en el entorno incorrecto y esta publicación fue una de las primeras que encontré.

Debido a que estaba entrando en pánico y buscando una solución, fui por lo primero que vi: ApexSQL Logs , que era $ 2000, que era un costo aceptable.

Sin embargo, desde entonces descubrí que Toad for Sql Server puede generar scripts de deshacer desde los registros de transacciones y solo cuesta $ 655.

Por último, encontró una opción aún más económica SysToolsGroup Log Analyzer y solo cuesta $ 300.

Necesito ver los registros de transacciones de una base de datos en SQL Server 2008 para encontrar una transacción de eliminación y, con suerte, deshacerla.

Lamentablemente, no tengo ni idea de dónde empezar, y me resulta difícil determinar cuáles son los buenos artículos en Google.

¿Que debería hacer?


No puede leer el archivo de registro de transacciones fácilmente porque no está debidamente documentado. Básicamente hay dos formas de hacer esto. Usar funciones de base de datos no documentadas o semi documentadas o usar herramientas de terceros.

Nota: Esto solo tiene sentido si su base de datos está en modo de recuperación completa.

Funciones de SQL:

DBCC LOG y fn_dblog - más detalles here y here .

Herramientas de terceros:

Toad para SQL Server y ApexSQL Log .

También puede consultar varios otros temas donde se discutió esto:


Podría usar el indocumentado

DBCC LOG(databasename, typeofoutput)

donde typeofoutput:

0: Return only the minimum of information for each operation -- the operation, its context and the transaction ID. (Default) 1: As 0, but also retrieve any flags and the log record length. 2: As 1, but also retrieve the object name, index name, page ID and slot ID. 3: Full informational dump of each operation. 4: As 3 but includes a hex dump of the current transaction log row.

Por ejemplo, DBCC LOG (base de datos, 1)

También puedes probar fn_dblog.

Para retrotraer una transacción utilizando el registro de transacciones, echaría un vistazo a la transacción de retrotracción posterior al desbordamiento de pila mediante el registro de transacciones .