Tengo un archivo sql de 123 MB que necesito ejecutar en mi PC local. Pero estoy consiguiendo
Cannot execute script: Insufficient memory to continue the execution of the program
¿Cómo solucionar este problema?
Tengo un archivo sql de 123 MB que necesito ejecutar en mi PC local. Pero estoy consiguiendo
Cannot execute script: Insufficient memory to continue the execution of the program
¿Cómo solucionar este problema?
Respuestas:
utilice la herramienta de línea de comandos SQLCMD, que tiene menos 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
Tomado de aquí .
-e
para conexión confiable
¡Podría ayudarte! Consulte los pasos a continuación.
sqlcmd -S nombre-servidor -d nombre-base-datos -i script.sql
También puede simplemente aumentar el valor Mínimo de memoria por consulta en las propiedades del servidor. Para editar esta configuración, haga clic derecho en el nombre del servidor y seleccione Propiedades> pestaña Memoria.
Encontré este error al intentar ejecutar un script SQL de 30 MB en SSMS 2012. Después de aumentar el valor de 1024 MB a 2048 MB, pude ejecutar el script.
(Esta es la misma respuesta que proporcioné aquí )
Para la autenticación de Windows, use este cmd sql
SQLCMD -S TestSQLServer\SQLEXPRESS -d AdventureWorks2018 -i "d:\document\sql document\script.sql"
Nota: Si hay algún espacio en la ruta del archivo sql, use "(Comillas)"
Para la autenticación de SQL Server, use este cmd sql
SQLCMD -S TestSQLServer\SQLEXPRESS -U sa -P sasa -d AdventureWorks2018 -i "d:\document\sql document\script.sql"
-S TestSQLServer \ SQLEXPRESS: aquí especifique el nombre de SQL Server
-Estados Unidos: usuario (en caso de autenticación de SQL Server)
-P sasa: contraseña (en caso de autenticación de SQL Server)
-d AdventureWorks2018: el nombre de la base de datos viene aquí
-i "d: \ document \ sql document \ script.sql": Ruta de archivo de SQLFile
Si entiendo su problema correctamente, está intentando restaurar (transact sql) xyz.sql - database + schema. Puedes probar este comando que funcionó para mí:
SQLCMD -U sa -i xyz.sql
Mi base de datos tenía más de 500 MB, luego usé lo siguiente
C:\Windows>sqlcmd -S SERVERNAME -U USERNAME -P PASSWORD -d DATABASE -i C:\FILE.sql
Cargó todo, incluidos los SP
* NB: Ejecute cmd como administrador
A veces, debido al gran tamaño del script y los datos, nos encontramos con este tipo de error. El servidor necesita suficiente memoria para ejecutarse y dar el resultado. Simplemente podemos aumentar el tamaño de la memoria, por consulta.
Solo necesita ir a las propiedades del servidor SQL> pestaña Memoria (lado izquierdo)> Ahora establezca el límite máximo de memoria que desea agregar.
Además, hay una opción en la parte superior, "Resultados a texto", que consume menos memoria en comparación con la opción "Resultados a la cuadrícula", también podemos ir a Resultado a texto para menor ejecución de memoria.
El siguiente script funciona perfectamente:
sqlcmd -s Server_name -d Database_name -E -i c:\Temp\Recovery_script.sql -x
Síntomas:
Al ejecutar un script de recuperación con la utilidad sqlcmd, el 'Sqlcmd: Error: Error de sintaxis en la línea XYZ cerca del comando' X 'en el archivo' file_name.sql '.' se encuentra un error.
Porque:
Esta es una limitación de la utilidad sqlcmd. Si el script SQL contiene el signo de dólar ($) en cualquier forma, la utilidad no puede ejecutar correctamente el script, ya que está sustituyendo todas las variables automáticamente de forma predeterminada.
Resolución:
Para ejecutar un script que tenga un signo de dólar ($) en cualquier forma, es necesario agregar el parámetro "-x" a la línea de comando.
p.ej
Original: sqlcmd -s nombre_servidor -d nombre_base_datos -E -ic: \ Temp \ Recovery_script.sql
Corregido: sqlcmd -s Server_name -d Database_name -E -ic: \ Temp \ Recovery_script.sql -x
sqlcmd -S mamxxxxxmu \ sqlserverr -U sa -P x1123 -d QLDB -i D: \ qldbscript.sql
Abra el símbolo del sistema en ejecutar como administrador
ingrese el comando anterior
"mamxxxxxmu" es el nombre de la computadora "sqlserverr" es el nombre del servidor "sa" es el nombre de usuario del servidor "x1123" es la contraseña del servidor "QLDB" es el nombre de la base de datos "D: \ qldbscript.sql" es el archivo de script sql para ejecutar en la base de datos