sql >> Base de Datos >  >> RDS >> Sqlserver

Formas de recuperar datos del archivo de registro de transacciones de SQL Server

Resumen: Muchas veces el administrador de la base de datos SQL busca formas de recuperar datos de los registros de transacciones de SQL Server. El usuario puede leer este artículo para realizar esta tarea. Hemos proporcionado la mejor manera posible y también la más fácil de restaurar datos desde un archivo (.ldf). En caso de que tenga problemas de corrupción de la base de datos y desee recuperar los objetos de la base de datos, pruebe esto Recuperar base de datos SQL Software. Para más información, el usuario puede leer este artículo.

Hay momentos en que los clientes se enfrentan a circunstancias lamentables de la base de datos en sus bases de datos de SQL Server. Las situaciones podrían ocurrir durante la administración y soporte de sus archivos de base de datos. A veces, los objetos de la base de datos se eliminan sin querer, por lo que los administradores de la base de datos se enfrentan a numerosos problemas. Posteriormente, para volver al proceso de trabajo normal, los archivos deben recuperarse en la base de datos de SQL Server.

El registro de transacciones de SQL Server desempeña un trabajo importante en la recuperación de datos eliminados en caso de que ejecute erróneamente la operación ELIMINAR o ACTUALIZAR con una condición inapropiada o sin condición de filtración. Esto se puede lograr escuchando los registros guardados dentro de esta caja negra que se conoce como el archivo de registro de transacciones de SQL Server.

Cómo recuperar datos del archivo de registro de transacciones de SQL Server

Para analizar las diversas técnicas que podemos usar para recuperar datos del archivo de registro de transacciones de SQL Server, crearemos otra base de datos con una sola tabla, utilizando el script debajo:

Después de crear la base de datos y la tabla, llenaremos esa tabla con 30 registros, utilizando la declaración INSERT INTO T-SQL debajo:

Si aún no se ha realizado una copia de seguridad de la base de datos, ¿cómo podríamos recuperar los datos de la tabla si el comando ACTUALIZAR que se encuentra debajo se ejecuta sobre esa tabla sin usar ninguna declaración para filtrar los datos que se cambiarán?

Utilización de métodos integrados

1.) fn_dblog: El contenido del registro de transacciones de SQL Server se puede leer en línea utilizando varias funciones implícitas. La primera función que intentaremos usar para recuperar los datos perdidos es fn_dblog . Es una función con valores de tabla de marco no documentada, que se utiliza para sumergirse en el registro de transacciones de SQL Server y ver el contenido del segmento dinámico de ese archivo.

Para utilizar el fn_dblog() función, debe proporcionar dos parámetros, el LSN inicial y final del registro. Para ver todos los registros accesibles en el segmento dinámico del archivo de registro de transacciones de SQL, puede pasar el valor NULL para estos dos parámetros. Como el resultado del trabajo de fn_dblog() contiene 129 columnas, es mejor seleccionar solo los segmentos que contienen los datos que le interesan y filtrar el resultado para mostrar solo la operación que desea recuperar. Por ejemplo, la operación LOP_INSERT_ROWS se registra cuando se incrusta otro registro, la operación LOP_DELETE_ROWS se registra cuando se elimina un nuevo registro y la operación LOP_MODIFY_ROW se registra cuando se actualiza un registro actual. La secuencia de comandos debajo se puede utilizar para verificar las declaraciones de actualización que se realizan en esa base de datos:

2.) fn_dump_dblog(): El marco posterior funcionó en función, fn_dump_dblog(), tiene una ventaja sobre el trabajo de fn_dblog() es que se puede utilizar muy bien para leer la copia de seguridad del registro de transacciones de SQL Server, a pesar de la capacidad de leer el archivo de registro de transacciones en línea. Por otra parte, para utilizar la función fn_dump_dblog(), debe proporcionar 68 parámetros obligatorios, como se muestra en el siguiente script:

3.) Comando de página DBCC: SQL Server nos brinda innumerables comandos DBCC que se pueden utilizar para ejecutar los diversos tipos de tareas de administración de SQL Server. Uno de estos comandos no documentados es el comando de página DBCC, que se puede usar para leer el contenido de los datos de la base de datos y registrar archivos en línea. Para ver el contenido del archivo de registro de la base de datos, debe proporcionar el nombre de la base de datos y el ID del archivo de registro de transacciones. El ID del archivo de registro de transacciones se puede recuperar de la consulta debajo.

Limitaciones de los métodos manuales para recuperar datos del registro de transacciones de SQL Server

  1. Difícil de realizar.
  2. Requiere sólidos conocimientos técnicos.
  3. Alto riesgo de pérdida de datos.

Solución experta para Recuperar datos del archivo de registro de transacciones de SQL Server

Cuando una base de datos se corrompe o los datos de la tabla se pierden o cambian por error, el largo tiempo que se requiere para recrear y analizar los datos utilizando los métodos implícitos no puede ser suficiente. En este sentido, necesitamos buscar en el mercado de administración de SQL Server una herramienta que pueda usarse de manera efectiva e inmediata para leer el contenido del archivo de registro de transacciones y mostrar este contenido en un formato fácil de usar.

Lector de archivos de registro SQL de SysTools herramienta, que se puede utilizar fácilmente para leer el contenido del archivo de registro de transacciones SQL en línea. Mediante el uso de este software, el usuario puede leer y analizar fácilmente los archivos de registro transaccional de SQL Server INSERTAR/ACTUALIZAR/ELIMINAR operaciones. Esta aplicación profesional de nivel empresarial puede funcionar tanto en un entorno de base de datos fuera de línea como en línea. Además, esta aplicación ofrece la opción de filtros dinámicos para exportar un archivo de registro transaccional selectivo. Este software es compatible con la versión de SQL Server 2019.

Pasos para recuperar datos del registro de transacciones de SQL Server

  1. Descargue e instale SQL Log Analyser.

2. Ahora seleccione la opción de base de datos

3. Obtenga una vista previa de los datos del archivo de registro transaccional de SQL Server.

4. Haga clic en el botón Exportar para exportar los datos del archivo de registro.

Conclusión

A pesar de que la técnica manual puede recuperar elementos eliminados de tablas SQL, no es una opción prescrita para los clientes debido a su complejidad y tedioso. Más bien, se recomienda utilizar una solución ideal para recuperar datos del archivo de registro de transacciones de SQL Server.