944 063 154

Blog

Recuperando una base de datos SQL Server y su último ID insertado

Publicado enDesarrollo y Programación en octubre 22, 2018 1:00 pm

En este post vamos a hablar sobre diferentes recuperaciones en SQL Server; de cómo recuperar una base de datos sin archivo de log o del proceso para conseguir el último ID insertado en SQL.

Recuperar una base de datos

Si por cualquier motivo no tienes el archivo de transacciones (.ldf) obtendrás un error de este tipo a la hora de intentar adjuntar una base de datos desde el Wizard de SQL. Si quieres recuperar una base de datos sin archivo de log en SQL Server tendrás que seguir los siguientes pasos.

recuperar una bbdd-sql-recuperaciones en sql server

Suponiendo que el .mdf esté en buenas condiciones, puedes adjuntar la base de datos y forzar a la reconstrucción del archivo de transacciones.

El siguiente ejemplo muestra cómo adjuntar la base de datos “sergiosainz” indicando el path a mi .mdf. En tu caso, deberás sustituir esos valores por los que se correspondan con tu base de datos.

USE [master]
GO
CREATE DATABASE [sergiosainz] ON
(FILENAME = N’C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATAsergiosainz.mdf’)
FOR ATTACH_REBUILD_LOG
GO

Y, en relación a las recuperaciones en SQL Server, viene la segunda parte del post.

Recuperar el último ID insertado

¿Eres uno de los que aún no utiliza el driver oficial de SQL Server? Si este es tu caso, a continuación, te dejamos un pequeño tip para recuperar el último ID insertado en una consulta de SQL Server con la obsoleta extensión MSSQL de PHP. Aunque pueda no parecerlo, es un proceso que resulta muy sencillo y para el que no hacen falta conocimientos avanzados de programación.

Para recuperar el último ID insertado en tu base de datos MSSQL, necesitarás un script similar al que te indicamos a continuación.


$q = mssql_query("INSERT INTO TableName(...) VALUES(...); SELECT ; LAST_INSERT_ID=@@IDENTITY");
$r = mssql_fetch_assoc($q);

Como puedes comprobar, la ejecución de este script no entraña ninguna dificultad. Siguiendo este simple proceso, podremos recuperar el último ID insertado en una consulta de SQL Server.

Si quieres saber más acerca del lenguaje SQL, échale un vistazo a nuestro post sobre Consultas SQL. En el que hablamos sobre cuáles las consultas SQL que más se ejecutan y la cantidad de CPU que consumen.

Si tienes cualquier duda en relación a bases de datos, estamos a tu disposición a través de nuestras vías de soporte. No dudes en escribirnos mediante el sistemas de tickets o correo electrónico para lo que sea. Y, ya sabes, no te olvides de pasar de vez en cuando por nuestro blog sobre tecnología y programación.