
Estoy ejecutando una consulta SQL en mi base de datos. Tengo SQL Server 2008 instalado en mi disco duro D que tiene 55 GB de espacio libre.
También tengo una unidad C que tiene algo así como 150 MB libres (en este momento).
Al ejecutar esa consulta en una tabla bastante grande (16 GB), aparece un error:
Se produjo un error al ejecutar el lote. El mensaje de error es: No hay suficiente espacio en disco.
Me gustaría saber si existe alguna posibilidad de que pueda hacer que SQL Server use la unidad D en lugar de C
¿O tal vez hay algún otro problema con lo que estoy haciendo?
Gracias por la ayuda
Respuesta1
Probablemente se trate de un problema de registro. Puede mover el archivo de registro a una unidad diferente y utilizar un registro de nivel inferior.
Respuesta2
Es probable que sea TEMPDB, una de las bases de datos del sistema de SQL Server. El instalador lo habrá creado en la ubicación predeterminada de la base de datos.
Este artículohabla sobre mover tempdb.
Del mismo modo, puede agregar archivos adicionales (ampliables) en D: al grupo de archivos principal de la base de datos tempdb, luego establecer los predeterminados en un tamaño fijo (y eventualmente vaciarlos y luego eliminarlos).
Respuesta3
¿Está ejecutando la consulta utilizando una aplicación cliente en el servidor SQL, como SSMS? Si es así, probablemente podría ser el uso de la unidad C para almacenar la salida para su visualización, especialmente si está ejecutando la salida en una cuadrícula. Intente ejecutar la consulta utilizando la línea de comando SQLCMD.