jueves, 16 de abril de 2020

SQL Server: Error 5042 The file ‘FileName’ cannot be removed because it is not empty

Si has realizado una distribución de tus tablas e indices y luego deseas eliminar el archivo del grupo de datos ya no utilizado y te da este error:


ALTER DATABASE mi_base REMOVE FILE mi_base_idx 
SQL Server: Fix – Error 5042 The file ‘FileName’ cannot be removed because it is not empty           

Esto es debido que aunque el archivo ya no contenga tablas o indices no tiene liberado el espacio y para ello previamente debes utilizar la función SHRINKFILE , esta funcion lierara el espacio y así podrás luego eliminar el archivo.

USE mi_base DBCC SHRINKFILE(mi_base_idx,EMPTYFILE)DBCC execution completedALTER DATABASE mi_base REMOVE FILE mi_base_idxThe file 'hra_prod_idx' has been removed.

Listo, tu archivo ha sido eliminado.