Tengo una tabla grande (~ 50 millones de filas) Estoy intentando insertar en masa en SQL Server y aparece el error:
No se pudo asignar espacio para el objeto 'myDB' en la base de datos 'I 3 Stroke' porque el grupo de archivos 'PRIMARY' está lleno. Cree espacio en disco eliminando archivos innecesarios, colocando objetos en el grupo de archivos, agregando archivos adicionales al grupo de archivos o configurando el crecimiento automático para los archivos existentes en el grupo de archivos.
Hay otra tabla en la base de datos con alrededor de 25 millones de filas. Esta base de datos solo se usará en una sola máquina, y estará diseñada para extraer datos que ya existen y en ningún caso crecerá más allá de su tamaño actual.
Para una situación como esta, ¿cuál es la mejor manera de abordar esto para que SQL Server no se queje? ¿Importará la solución que este DB no esté expuesto a múltiples usuarios?
fuente
Respuestas:
Sigue estos pasos:
( Sugerencia: deje al menos un 20% de espacio libre en disco si aloja los archivos de la base de datos en el mismo disco que su sistema operativo { Sugerencia secundaria : Don ¡Haga esto! Reconstruya / migre sus datos a su propio disco; se está atornillando a las E / S.} y deje al menos 8% para un disco de datos puro; estos números son estimaciones de lo que creo que son las sugerencias de porcentaje real son )
( es posible que también desee considerar sus valores de "Crecimiento automático" mientras esté aquí ) .
Desea darle a su base de datos la asignación de almacenamiento que pueda permitirse. Si se queda sin espacio, recibirá este error sin crecimiento automático activado y si el crecimiento automático está activado, recibirá un impacto de rendimiento cada vez que tenga que crecer automáticamente. Si simplemente no tiene espacio en el disco, esa es su respuesta y necesita un disco más grande.
fuente
Express Edition 2014 tiene un límite de 10 GB por base de datos. Si el crecimiento automático de una base de datos llega a ese punto, SQL Server arroja el mensaje de error (¿oscuro?), Sin mencionar el límite de licencia. Puede haber mucho espacio en el disco, pero aún verá este mensaje.
Remedio si el diseño lo permite: use múltiples bases de datos bajo esta licencia.
fuente
Las bases de datos a menudo se quedan sin espacio cuando están en modo de recuperación completa. Si no está realizando transacciones y las copias de seguridad manuales son suficientes, puede cambiar el modo de recuperación a simple.
Es posible que también necesite recuperar espacio del archivo de registro. . . se puede vaciar pero aún usar espacio.
Sin embargo, es mejor que haga esta pregunta a los DBA que pueden ofrecer más soluciones.
fuente
En mi experiencia, este mensaje aparece cuando el archivo primario (.mdf) no tiene espacio para guardar los metadatos de la base de datos. Este archivo incluye las tablas del sistema y solo guardan sus datos en él.
Haga espacio en el archivo y los comandos funcionarán nuevamente. Eso es todo, disfruta
fuente