miércoles, 25 de febrero de 2015

Mover Bases de Datos Model/Msdb/Master/Tempdb y los Archivos de Log del Sistema ErrorLog/SQLDump/AgentLog

    Amigos,  por motivos varios podemos encontrarnos frente a la tarea de tener que mover nuestras Bases de Datos y Archivos de Log del Sistema hacia otra unidad de disco. 

    No es una tarea difícil mas si requiere de un orden. Veamos pues el paso a paso:
  
     

    1) Base de Datos "Master"

      Esta base contiene buena parte de la configuración de la instancia de SQL Srv (logins,
      Bd, Errores etc).  También los Sp extendidos y muchos otros Sp del sistema.

1)   Crear el directorio donde vamos a mover los archivos master.mdf y el master.ldf

2)  Cambiar el path donde el Sql Servr “busca” los archivos , para ello:

Desde dentro del servidor… Start --> All Programs -->Microsoft SQL Server xxxx --> Configuration Tools--> Sql Server Configuration Manager --> SQL Server Services --> SQL Server(MSSQLSERVER) -->Botón derecho --> Properties --> Solapa Advanced --> Startup Parameters  y modificamos los path para el master.mdf y el master.ldf --> Luego “ok”


3)       Detener el servicio del SQL Server (MSSQLSERVER)
4)       Mover los archivos hacia la nueva ubicación (master.mdf y el master.ldf)
5)       Reiniciar el servicio..


2)  Archivo de Log de Errores "ErrorLog"

Sql server almacena errores del sistema e información adicional de distintas instancias del mismo en archivos ubicados en la carpeta ERRORLOG.
      
1)   Crear el directorio donde vamos a mover los archivos contenidos en la carpeta ERRORLOG

2)  Cambiar el path donde el Sql Servr loguea los archivos , para ello:

Desde dentro del servidor… Start --> All Programs -->Microsoft SQL Server xxxx --> Configuration Tools--> Sql Server Configuration Manager --> SQL Server Services --> SQL Server(MSSQLSERVER) -->Botón derecho --> Properties --> Solapa Advanced --> Startup Parameters  y modificamos los path para ERRORLOG--> Luego “ok”


3)       Detener el servicio del SQL Server (MSSQLSERVER)
4)       Mover los archivos hacia de log de Error a la nueva ubicación
5)       Reiniciar el servicio..


3)  Archivo de Log de Errores "SQLDump"

Sql server almacena crea un archivo de Dump cuando se produce un ‘Crash’ del Sql Server u otro error no documentado. También cuando el comando DBCC CHECKDB encuentra ‘corrupciones’ dentro de la Base de Datos. Por default el SQL Server almacena este tipo de archivos en la carpeta ERROLOG…

1)   Crear el directorio donde vamos a mover los archivos contenidos en la carpeta ERRORLOG

2)  Cambiar el path donde el Sql Servr loguea los archivos , para ello:

       Desde dentro del servidor… Start --> All Programs -->Microsoft SQL Server xxxx --> Configuration Tools--> Sql Server Configuration Manager --> SQL Server Services --> SQL Server(MSSQLSERVER) -->Botón derecho --> Properties --> Solapa Advanced --> Dump Directory y modificamos los path --> Luego “ok”


3)       Detener el servicio del SQL Server (MSSQLSERVER)
4)       Mover los archivos Dump hacia  la nueva ubicación
5)       Startear el servicio..



4)  Base de Datos "TempDB"

Esta base contiene todos los objetos temporales creados explícitamente por el usuario (tablas, sp, variables, etc) y otros objetos internos creados por el motor de la base de datos (por ejemplo tablas de trabajo para almacenar resultados intermedios).

1)       Corroborar la ubicación actual de los archivos correspondientes a la base TempDB

                SELECT name, physical_name AS CurrentLocation, state_desc
   FROM sys.master_files
                   WHERE database_id = DB_ID(N'tempdb');

2)       Crear el directorio donde van a ubicarse los archivos tempdb.mdf y el templog.ldf

3)       Correr un Alter Database y setear las nuevas ubicaciones para los archivos temporales
                      
                 ALTER DATABASE TempDb
                      MODIFY FILE ( NAME = ' tempdev', FILENAME = 'E:\Data\Microsoft SQL
                     Server\MSSQL\Tempdb\tempdb.mdf' )  
                      go
                     ALTER DATABASE TempDb
     MODIFY FILE ( NAME = ' templog', FILENAME = 'E:\Data\Microsoft SQL               Server\MSSQL\Tempdb\templog.ldf' )

4)       Reiniciar el servicio de Sql Server

5)       Borrar el directorio con los archivos de la TempDB “viejos” (que ya se han regenerado)


5)  Base de Datos "MODEL"

Esta base contiene la plantilla de todas las bases de datos del SQL Server. Siempre debe estar presente puesto que la base de datos TempDb se regenera ante cada reinicio del motor de BD tomando como plantilla a la Model

1)       Corroborar la ubicación actual de los archivos correspondientes a la base Model

                SELECT name, physical_name AS CurrentLocation, state_desc
   FROM sys.master_files
                   WHERE database_id = DB_ID(N'model');

2)       Crear el directorio donde vamos a mover los archivos model.mdf y el modellog.ldf

3)       Correr un Alter Database y setear las nuevas ubicaciones para los archivos 
                      
                 ALTER DATABASE Model
                      MODIFY FILE ( NAME = ' modeldev', FILENAME = 'E:\Data\Microsoft SQL
                     Server\MSSQL\Model\Model.mdf' )  
                      go
                     ALTER DATABASE Model
     MODIFY FILE ( NAME = ' modelog', FILENAME = 'E:\Data\Microsoft  SQL             Server\MSSQL\Model\modellog.ldf' )

4)       Stoppear  el servicio de Sql Server

5)        Mover a la nueva carpeta creada en el punto 2) los archivos model.mdf y el modellog.ldf

             6)       Startear el servicio de Sql Server


  6)  Base de Datos "MSDB"

Es la base de datos utilizada por el Sql Server Agent para programar alertas y trabajos.

1)       Corroborar la ubicación actual de los archivos correspondientes a la base MsDb

                SELECT name, physical_name AS CurrentLocation, state_desc
   FROM sys.master_files
                   WHERE database_id = DB_ID(N'msdbl');

2)       Crear el directorio donde vamos a mover los archivos MSDBData.mdf y el MsdbLog.ldf

3)       Correr un Alter Database y setear las nuevas ubicaciones para los archivos 
                      
                 ALTER DATABASE MsDb
                      MODIFY FILE ( NAME = ' MSDBData', FILENAME = 'E:\Data\Microsoft SQL
                     Server\MSSQL\Model\MSDBDatal.mdf' )  
                      go
                     ALTER DATABASE MsDb
     MODIFY FILE ( NAME = ' MSDBlog', FILENAME = 'E:\Data\Microsoft  SQL             Server\MSSQL\Model\MSDBLog.ldf' )

4)       Stoppear  el servicio de Sql Server

5)        Mover a la nueva carpeta creada en el punto 2) los archivos MSDBData.mdf y el MSDBLog.ldf

             6)       Startear el servicio de Sql Server


  7) SQL Server Agent Log

      Es Sql Server Agent mantiene un set de archivos de log con warnings o errores encontrados durante la ejecución de un job.
.

1)   Crear el directorio donde vamos a mover los archivos master.mdf y el master.ldf

2)  Cambiar el path donde el Sql Servr “busca” los archivos , para ello:

Desde dentro del servidor… Start --> All Programs -->Microsoft SQL Server xxxx --> Configuration Tools--> Sql Server Configuration Manager --> SQL Server Agent(MSSQLSERVER)  --> SQL Server(MSSQLSERVER) -->Botón derecho --> Properties --> Solapa Advanced --> Dump Directory  y modificamos los path  --> Luego “ok”


3)       Detener el servicio del SQL Server (MSSQLSERVER)
4)       Mover los archivos de Dump hacia la nueva ubicación
5)       Startear el servicio..

1 comentario:

  1. ¡Muy bueno!

    Para bases de datos nuevas, solo añadir un detalle, cambiar la ruta predeterminada de las bases de datos.

    De esta forma conseguimos que cuando se crea una nueva base de datos se proponga la ruta nueva por defecto y así se evita tener que moverlas después.

    Visto en:

    http://www.sysadmit.com/2016/08/mover-base-de-datos-sql-server-a-otro-disco.html

    ResponderEliminar