SQL Server: Como mover la Tempdb paso a paso

by | Nov 24, 2020 | Administración, SQL Server

En varias ocasiones hemos tenido la necesidad de mover nuestros archivos de la base de datos Tempdb a otra ubicación , por ejemplo si nos hemos quedado sin espacio, si la hemos alocado originalmente en un lugar inadecuado , etc.

En este post te muestro los pasos que debes seguir para mover tus archivos de Tempdb a otra unidad.

Paso 1: Conocer su ubicación actual y sus nombres

En este primer paso lo que haremos es buscar los nombres lógicos y su ubicación actual en nuestros discos , para ello ejecutaremos el siguiente script

SELECT NAME, PHYSICAL_NAME   
FROM SYS.MASTER_FILES  
WHERE DATABASE_ID = DB_ID(N'TEMPDB')

El cual arroja un resultado similar a la siguiente imagen

En este caso podemos ver que tenemos 8 archivos de data y 1 de log, todos están ubicados en el disco E:\mssql

Paso 2: Modificar la ubicación de los archivos

En este paso lo que haremos es modificar la ubicación del o los archivos que necesitamos mover a otra ubicación, para eso usaremos el siguiente script

USE MASTER;  
GO  
ALTER DATABASE TEMPDB   
MODIFY FILE (NAME = TEMPDEV, FILENAME = 'E:\SQLDATA\TEMPDB.MDF');  
GO  
ALTER DATABASE TEMPDB   
MODIFY FILE (NAME = TEMP2, FILENAME = 'E:\SQLDATA\TEMPDB2.NDF');  
GO  
ALTER DATABASE TEMPDB   
MODIFY FILE (NAME = TEMP3, FILENAME = 'E:\SQLDATA\TEMPDB3.NDF');  
GO  
ALTER DATABASE TEMPDB   
MODIFY FILE (NAME = TEMP4, FILENAME = 'E:\SQLDATA\TEMPDB4.NDF');  
GO  
ALTER DATABASE TEMPDB   
MODIFY FILE (NAME = TEMP5, FILENAME = 'E:\SQLDATA\TEMPDB5.NDF');  
GO  
ALTER DATABASE TEMPDB   
MODIFY FILE (NAME = TEMP6, FILENAME = 'E:\SQLDATA\TEMPDB6.NDF');  
GO  
ALTER DATABASE TEMPDB   
MODIFY FILE (NAME = TEMP7, FILENAME = 'E:\SQLDATA\TEMPDB7.NDF');  
GO  
ALTER DATABASE TEMPDB   
MODIFY FILE (NAME = TEMP8, FILENAME = 'E:\SQLDATA\TEMPDB8.NDF');  
GO  
ALTER DATABASE TEMPDB   
MODIFY FILE (NAME = TEMPLOG, FILENAME = 'F:\SQLLOG\TEMPLOG.LDF');  
GO  

Paso 3: Reiniciar el servicio de SQL Server

Para que se apliquen los cambios debemos hacer un reinicio de los servicios de SQL Server, luego de hacer este paso tendremos nuestro cambio realizado con exito.

Paso 4: Verificamos el cambio

Para verificar luego del reinicio que el cambio se ha aplicado simplemente debemos volver a ejecutar el script del paso 1

SELECT NAME, PHYSICAL_NAME   
FROM SYS.MASTER_FILES  
WHERE DATABASE_ID = DB_ID(N'TEMPDB');

Acerca del autor

Maximiliano Accotto

Experto en SQL Server y BI

Con mas de 20 años de experiencia y trayectoria trabajando con bases de datos SQL Server y BI.

Fui Microsoft MVP desde el 2005 al 2019 y soy orador frecuente para distintos eventos de Microsoft y comunidades técnicas.

Me especializado en temas de tuning, administracion, performance, diseño y BI en el mundo Microsoft ya sea para ambientes locales como nube.