Cómo Mover el Archivo LOG De Una Base de Datos
Algunas veces he tenido la necesidad de mover los archivos LOG de la base de datos de un disco duro a otro. En este artículo, voy a describir el código T-SQL que utilizo para lograr este objetivo.
Primero selecciono la base de datos y ejecuto el procedimiento de systema SP_HELPFILE para obtener el nombre y PATH donde se encuentran los archivos de la base de datos.
USE NorthWind GO SET NOCOUNT ON EXEC SP_HELPFILE
En mi ordenador estan en C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATA. Cambio la base de datos a master y separo la base de datos NorthWind
USE master GO EXEC SP_DETACH_DB 'NorthWind' GO
Ahora abro una sesión de Windows Explorer para mover el archivo LOG a su nueva localidad. En mi ordenador lo copio a D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATA y regreso a mi sesión de analizador de consultas (Query Analyzer) para ejecutar el procedimiento de systema SP_ATTACH_DB y asi pegar la base de datos utilizando el nuevo PATH donde se encuentran los archivos de la base de datos
EXEC SP_ATTACH_DB 'NorthWind' 'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATANorthWind_Data.mdf', 'D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATANorthWind_Log.ldf' GO
Cambio la base de datos nuevamente y ejecuto el procedimiento de systema SP_HELPFILE para verificar que la base de datos esta utilizando el archivo LOG en su nueva localidad. Tambien ejecuto el procedimiento de systema SP_HELPDB para verificar que la base de datos esta en linea.
USE NorthWind GO EXEC SP_HELPFILE GO EXEC SP_HELPDB 'NorthWind' GO
Updated on 04/18/2011
El procedimiento almacenado sp_attach_db
va a ser descontinuado en versiones proximas del SQL Server. Se recomienda que utilize el CREATE DATABASE database_name FOR ATTACH
.
USE master GO CREATE DATABASE [NorthWind] ON (FILENAME = N'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATANorthWind_Data.mdf'), (FILENAME = N'D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATANorthWind_Log.ldf') FOR ATTACH GO
Espero que encuentren ese pequeño artículo de ayuda.