Cómo mover base de datos temporal ‘TempDB’ a una nueva unidad en SQL Server

En ocasiones el espacio en disco es limitado y se nos llenan las unidades y puede ocasionar una parada de servicio.

Con esta entrada voy a explicar como mover base de datos temporal ‘TempDB‘ a una nueva unidad en SQL Server realizando los siguientes pasos.

Identificamos la ubicación de los datos y archivos de registro de la base de datos temporal TempDB.

SELECT 
name AS [LogicalName]
,physical_name AS [Location]
,state_desc AS [Status]
FROM sys.master_files
WHERE database_id = DB_ID(N'tempdb');

Cambiamos la ubicación de los archivos de registro y datos de TempDB mediante ALTER DATABASE.

ALTER DATABASE tempdb 
MODIFY FILE (NAME = tempdev, FILENAME = 'T:\MSSQL\DATA\tempdb.mdf');

ALTER DATABASE tempdb 
MODIFY FILE (NAME = templog, FILENAME = 'T:\MSSQL\DATA\templog.ldf');

Detenemos y reiniciamos el servicio de SQL Server (desde el cmd)

net stop mssqlserver

net start mssqlserver

Verificamos el cambio de la ubicación de los ficheros.

SELECT 
name AS [LogicalName]
,physical_name AS [Location]
,state_desc AS [Status]
FROM sys.master_files
WHERE database_id = DB_ID(N'tempdb');

Y por ultimo eliminamos los archivos antiguos tempdb.mdf y templog.ldf.