sábado, 19 de abril de 2014

Cambiar ubicación TempDB

Hola,

Hoy continuamos con otro tema de los fáciles. Si administras algún servidor de base de datos SQL Server sabrás que una de sus bases de datos de sistema es la TempDB. En otra entrada ya explicaré exactamente para que sirve esa base de datos.

Puede ser que alguna vez necesites cambiar la ubicación de esta base de datos para moverla a otra ubicación diferente de la ubicación que se definió al instalar el motor de la base de datos. Pues bien, con unos pocos pasos conseguiremos nuestro objetivo:

Como cualquier base de datos de SQL Server, los archivos de la tempdb tienen unos nombre lógicos que tenemos que saber para poderla mover. Ejecutamos la siguiente consulta:

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

Esta consulta nos devuelve el nombre que tienen el archivo de datos y el archivo de log:


Una vez ya tenemos los nombres (normalmente y si no lo hemos cambiado, por defecto son tempdev y templog) ya podemos ejecutar las consultas para moverlos:

USE master; 
GO 

ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'path_deseado\tempdb.mdf'); 
GO 
ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'path_deseado\tempdb.ldf');
 GO

Ojo con no olvidarnos de poner en el path los nombres de archivo (\tempdb.mdf y \tempdb.ldf), si sólo ponemos la carpeta podemos tener consecuencias indeseadas.

Una vez hecho esto sólo nos faltará reiniciar el servicio de SQL Server (la verdad es que no he encontrado manera de mover la TempDB evitando el reinicio, diría que no se puede) y ya lo tenemos.

No hay comentarios:

Publicar un comentario