studio - Obteniendo un error al ejecutar una secuencia de comandos de 50 MB en SQL Server 2008 R2
sql server 2008 r2 service pack 4 (6)
Estoy usando SQL Server 2008 R2, tengo un script para actualizar el DB, ese script tiene aproximadamente 50 MB de tamaño y contiene unas 800,000 líneas.
Error:
TÍTULO: Microsoft SQL Server Management Studio
No se puede ejecutar el script
INFORMACIÓN ADICIONAL:
Memoria insuficiente para continuar la ejecución del programa. (mscorlib)
¿Puede alguien ayudarme a ejecutar este script sin obtener este error?
Añadiendo a la respuesta de @ user1293068, necesitaba especificar el nombre de la instancia. Aquí está mi sintaxis completa:
sqlcmd -S <ComputerName>/<InstanceName> -d <DatabaseName> -i <MyScript.sql>
Esto está documentado en Technet Use el artículo de la utilidad sqlcmd .
(Tenga en cuenta que debe ingresar un valor de conmutación de "-S", no de "-s". El interruptor distingue entre mayúsculas y minúsculas).
Ok, ninguna de las respuestas fue suficiente para restaurar mi script correctamente.
Asi que:
Asegúrese de que su cuenta de red tenga permisos suficientes para acceder a la instancia de SQL Server y a la base de datos específica que desea restaurar.
Lo mejor es que la base de datos que desea restaurar realmente exista, si solo se generó a partir de la generación de secuencias de comandos (con modificaciones para incluir tanto el esquema como los datos)
Ejecute la herramienta de línea de comandos en modo Administrador (si es necesario), por ejemplo, escriba CMD desde Ejecutar en el menú de inicio
En la herramienta de línea de comandos, escriba algo como
"SQLCMD -d CMS -i C:/Carnotaurus/Data/script.sql"
. Aquí,CMS
es el nombre de la base de datos que pretendo restaurar y"C:/Carnotaurus/Data/script.sql"
es la ruta de archivo completa del script de restauración que generó el Generate Scripts en SMSS.
Espero que esto aclare algunos pasos que faltan.
Si se requieren credenciales
sqlcmd -S <ComputerName>/<InstanceName> -U <username> -P <password> -d <DatabaseName> -i <MyScript.sql>
También encontré un problema similar en SQL Server 2012, ya que el tamaño de mi archivo era de 70 MB.
Solución que funcionó para mí, aumentar el archivo de registro a Ilimitado.
- Abrir SQL Server Management Studio
- En Object Explorer, haga clic con el botón derecho en el nombre de la base de datos y haga clic en Propiedades.
- En la sección Archivo, cambie el tamaño de crecimiento automático de los datos y el tamaño del registro a ilimitado.
También puede intentar aumentar el valor de Maximum Server Memory en las propiedades del servidor.
Para editar esta configuración, haga clic con el botón derecho en el nombre del servidor y seleccione Propiedades> pestaña Memoria.
Encontré este error al intentar ejecutar un script SQL de 30MB en SSMS 2012.
Después de aumentar el valor de 1024MB
a 1024MB
2048MB
, pude ejecutar el script.
use la herramienta de línea de comandos SQLCMD que es mucho más eficiente en la memoria. Es tan simple como:
SQLCMD -d <database-name> -i filename.sql
Necesita credenciales válidas para acceder a su instancia de SQL Server o incluso para acceder a una base de datos