SQL Server
1K

SQL Server: Como mover la Tempdb paso a paso

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');