Blog gratis
Reportar
Editar
¡Crea tu blog!
Compartir
¡Sorpréndeme!
img
img

 

 

SQL Server
Blog. (Apuntes y Recopilaciones) por Norman M. Pardell

img
img
04 de Octubre, 2011 · ubicación-ruta-bases-SQL-Server

CAMBIAR RUTA (UBICACIÓN) DE LAS BASES DE DATOS DE DE UNA INSTANCIA SQL Server.

Lo que vamos a realizar es  mover las bases de datos de una instancia a otra ubicación diferente.

Sacamos las rutas de todas las bases de datos, con la consulta en la bd master:

SELECT name, physical_name AS CurrentLocation, state_desc

FROM sys.master_files

Para mover las bases de datos master, Resource y ficheros de ERRORLOG siga los pasos que se indican a continuación.

En el menú Inicio, seleccione Todos los programas, Microsoft SQL Server 2005, Herramientas de configuración y, finalmente, haga clic en Administrador de configuración de SQL Server.

En el nodo Servicios de SQL Server 2005, haga clic con el botón secundario en la instancia de SQL Server (por ejemplo, SQL Server (MSSQLSERVER)) y seleccione Propiedades.

En el cuadro de diálogo Propiedades de SQL Server (nombreDeInstancia), haga clic en la ficha Avanzadas.

Modifique los valores de Parámetros de inicio para que apunten a la ubicación planeada de los archivos de registro y datos de la base de datos maestra y haga clic en Aceptar. Mover el archivo del registro de errores es opcional.
El valor de parámetro del archivo de datos debe ir a continuación del parámetro -d y el valor del archivo de registro debe ir a continuación del parámetro -l. En el siguiente ejemplo se muestran los valores de los parámetros de la ubicación predeterminada de los archivos de registro y datos de master.


 -dC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\master.mdf;-eC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOGERRORLOG;-lC:\Program Files\Microsoft SQL Serve\rMSSQL.1\MSSQL\DATA\mastlog.ldf


Si la reubicación planeada de los archivos de registro y datos de la base de datos maestra es

 E:SQLData, los valores de los parámetros cambiarían de la manera siguiente:


 -dE:\SQL\Data\master.mdf;-eC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOGERRORLOG;-lE:\SQL\Data\mastlog.ldf

Para detener la instancia de SQL Server, haga clic con el botón secundario en el nombre de la instancia y seleccione Detener.

Mueva los archivos master.mdf y mastlog.ldf a la nueva ubicación.

Inicie la instancia de SQL Server en modo de recuperación sólo de master especificando uno de los siguientes comandos en el símbolo del sistema. Los parámetros especificados en estos comandos distinguen entre mayúsculas y minúsculas. Los comandos generan un error cuando los parámetros no se especifican como se indica.

Para la instancia (MSSQLSERVER) predeterminada, ejecute el siguiente comando:


 NET START MSSQLSERVER /f /T3608

Para una instancia con nombre, ejecute el siguiente comando:


 NET START MSSQL$instancename /f /T3608

Para obtener más información, vea Cómo iniciar una instancia de SQL Server (Comandos net).

Mediante comandos de sqlcmd o SQL Server Management Studio, ejecute las siguientes instrucciones. Cambie la ruta de acceso a FILENAME para que coincida con la nueva ubicación del archivo de datos de la base de datos maestra. No cambie el nombre de la base de datos ni los nombres de archivo.


 ALTER DATABASE mssqlsystemresource
    MODIFY FILE (NAME=data, FILENAME= 'new_path_of_mastermssqlsystemresource.mdf');
GO
ALTER DATABASE mssqlsystemresource
    MODIFY FILE (NAME=log, FILENAME= 'new_path_of_mastermssqlsystemresource.ldf');
GO

Mueva los archivos mssqlsystemresource.mdf y mssqlsystemresource.ldf a la nueva ubicación.

Establezca la base de datos Resource en modo de sólo lectura ejecutando la siguiente instrucción.


 ALTER DATABASE mssqlsystemresource SET READ_ONLY;

Salga de la utilidad sqlcmd o de SQL Server Management Studio.

Detenga la instancia de SQL Server.

Reinicie la instancia de SQL Server.

Compruebe el cambio de archivo de la base de datos master ejecutando la siguiente consulta. Los metadatos de la base de datos Resource no se pueden ver mediante vistas de catálogo del sistema ni tablas del sistema.


 SELECT name, physical_name AS CurrentLocation, state_desc
FROM sys.master_files
WHERE database


Para mover los ficheros de log que quenera sql agent, a una nuev ruta: (por ejemplo a: D:Microsoft SQL ServerMSSQL.1MSSQLLOG)


USE [msdb]

GO

EXEC msdb.dbo.sp_set_sqlagent_properties @errorlog_file=N'D:\Microsoft SQL Serve\rMSSQL.1\MSSQL\LOGSQLAGENT.OUT'

GO

 

 

               

 La base de datos model:

 

                     ALTER DATABASE model

    MODIFY FILE (NAME= modeldev, FILENAME= 'new_path_of_mastermodel.mdf');

     GO

     ALTER DATABASE model

    MODIFY FILE (NAME= modellog, FILENAME= 'new_path_of_mastermodellog.ldf ');

GO

-> Paramos el servicio de sql server, copiamos los ficheros anteriores al nuevo path y arancamos nuevamente el servicio de sql server.

 La base de datos msdb:

 

                     ALTER DATABASE msdb

    MODIFY FILE (NAME= MSDBData, FILENAME= 'new_path_of_masterMSDBData.mdf ');

     GO

     ALTER DATABASE msdb

    MODIFY FILE (NAME= MSDBLog , FILENAME= 'new_path_of_masterMSDBLog.ldf');

GO

 

-> Paramos el servicio de sql server, copiamos los ficheros anteriores al nuevo path y arancamos nuevamente el servicio de sql server.

 

 La base de datos tempdb:

 

                     ALTER DATABASE tempdb

    MODIFY FILE (NAME= tempdev, FILENAME= 'new_path_of_master empdb.mdf ');

     GO

     ALTER DATABASE tempdb

    MODIFY FILE (NAME= templog, FILENAME= 'new_path_of_master emplog.ldf');

GO

 

Eliminamos (movemos a otra ruta) los ficheros de la base de datos tempdb.

                Es la única base que se genera nueva al modificar la de ruta.

 

Modificamos las rutas de instalación en el registro (sacar un backup del registro).

Buscamos la ruta desde el raíz y las sustituimos.

 

 

 

Os voy a dejar una consulta, que facilita la formación de script, para modificar las bbdd de usuarios en masa de una instancia:


 select 'ALTER DATABASE [', d.name, '] MODIFY FILE (NAME = [',
f.name, '], FILENAME=''', f.physical_name, ''');'
FROM sys.master_files f inner join sys.databases d
on f.database_id = d.database_id


 
Aconsejo revisar la Configuración de la estructura de directorios para la nueva ubicación.
• Siga el artículo KB224071 para mover todas las bases de datos del sistema y las bases de datos de usuario.
• Detenga el servicio de fulltext.
modificar las rutas para NoiseFile y TsaurusFIle de la nueva ubicación
• IR a HKEY_LOCAL_MACHINE SOFTWARE MICROSOFT MICROSOFT SQL Server MSSQL.1 MSSQLServer y cambiar el valor de "FullTextDefaultPath" a la nueva ubicación.
• Mueva los contenidos del directorio FTDATA a su nueva ubicación
• Con el SQL Server Configuration Manager actualizar la ruta para el directorio de descarga y el registro de errores
• En HKLM SOFTWARE MICROSOFT MICROSOFT SQL Server MSSQL.1 MSSQLServer cambiar el valor de BackupDirectory y defaultlog a la nueva ubicación
• En HKLM SOFTWARE MICROSOFT MICROSOFT SQL Server MSSQL.1 Setup cambiar el valor de SQLDataRoot a la nueva ruta. (Esto actualiza el valor de ruta de datos que se muestran en gris en el SQL Server Configuration Manager).
• En HKLM SOFTWARE MICROSOFT MICROSOFT SQL Server MSSQL.1 Replication cambiar el valor de WorkingDirectory a la nueva ruta.
• En HKLM SOFTWARE MICROSOFT MICROSOFT SQL Server MSSQL.1 SQLServerAgent cambiar el valor de ErrorLogFile y WorkingDirectory a la nueva ruta.
• Por último se mueven los datos restantes de la ubicación original a la nueva ubicación.


Apunte y recopilación por Norman M. Pardell

Puedes consultarme, si deseas cualquier aclaración, pregunta o sugerencia en: Contacto, contestaré tan pronto como me sea posible.

publicado por normanmpardell a las 05:26 · Sin comentarios  ·  Recomendar
Comentarios (0) ·  Enviar comentario
Esta entrada no admite comentarios.
img
.Sobre mí
FOTO

Norman M. Pardell

MCITP: Database Administrator & Database Developer, SQL Server 2008. MCC Award Certificate. Consultor Senior de bases de datos en Capgemini España, S.L. Asesoramiento en implementación, desarrollo y gestión de bases de datos en grandes compañías. Actualmente, asignado a proyecto en compañía líder en el sector energético global. Más de 10 años trabajando con SQL Server (y otros gestores de BBDD)

» Ver perfil

img
.Secciones
» Inicio
img
.Enlaces
» Microsoft MSDN Foros
» Windows Server 2012
img
.Más leídos
» Asignar la cantidad correcta de Memoria para SQL Server
» Base de Datos Sospechosa (Suspect)
» Como modificar la Intercalación (Collation) en SQL Server
» Como renombrar una instancia de SQL Server. sp_dropserver. sp_addserver
» Detectar bloqueos. SQL Server V.2005 y superiores
» Funciones SQL Server. Funciones escalares y funciones con valores de tabla.
» Integridad y corrupción en las bases de datos: DBCC CHECKDB
» Log de transacciones ( .ldf ). SQL Server.
» Migrando SQL Server 2005, 2008, 2008 R2 a SQL Server 2012
» Transacciones activas. SQL server 2008
img
.Nube de tags [?]
                                                           
img img
FULLServices Network | Crear blog | Privacidad