Soy bastante nuevo en SQL Server 2012, agradecería si alguien puede ayudar. He restaurado una copia de una gran base de datos en SQL Server 2012 e intenté ejecutar algunas consultas simples en su contra.
Estoy tratando de ejecutar una consulta SELECT en una tabla de 136898115
líneas de base de datos . Esta SELECT
consulta solo tiene una WHERE
cláusula simple . Cada vez que ejecuto esta consulta, falla porque el disco del sistema (la partición donde está instalado Windows C:\
) se queda sin espacio (esta partición tiene solo 6GB de espacio libre), y no entiendo por qué. Definí mi tempdb para estar en una unidad diferente, que tiene más de 14 terabytes de espacio libre. Por supuesto, mi base de datos también se encuentra en una unidad diferente.
¿Qué hace que mi partición del sistema se quede sin espacio? ¿Es el archivo de la página?
fuente
Respuestas:
Los resultados de la consulta SSMS se almacenan en caché en la unidad C: de forma predeterminada. Vaya a Herramienta \ Opciones. Ver adjunto. Cambie esto a otro volumen con más almacenamiento y debería estar bien.
fuente
Bien, lo descubrí: ¡ Eric y yo teníamos razón!
C:\Users\<UserName>\AppData\Local\Temp
en mi caso aquí). Lo comprobé y no parece haber una forma obvia de desactivar este almacenamiento en caché.Entonces las conclusiones son:
SELECT *
desde una tabla enorme en SSMS a menos que el conjunto de resultados pueda caber en la carpeta de perfilfuente
Acabo de sufrir el mismo problema. Después de leer las respuestas anteriores, encontré lo siguiente.
Herramientas | Las opciones no son la respuesta. La mía se configuró en Y: unidad, pero vi cómo se ejecutaba mi consulta y el espacio en la unidad C: se redujo de 2.9GB a 5.04MB (antes de eliminar la consulta).
Así que pensé que probablemente sean resultados de almacenamiento en caché (ya que son muy grandes con cada fila devuelta que contiene una gran parte de XML) al directorio Temp, que es lo que dijo Jon, sin embargo, no estaba seguro de cómo cambiaría eso.
Lo que hice para cambiar el lugar donde se escriben los archivos temporales fue abrir mis Variables de entorno y editar las variables de usuario TEMP y TMP (ambas configuradas en C: \ Temp) para escribir en Z: \ Temp.
Puedo confirmar que después de este cambio, vi la consulta crear un archivo muy grande en mi directorio Z: \ Temp.
fuente