No se puede ejecutar el script: memoria insuficiente para continuar la ejecución del programa


85

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

ingrese la descripción de la imagen aquí

¿Cómo solucionar este problema?


@marc_s Cuando hago clic en Ctlr + E, inmediatamente muestra este error
user960567

Respuestas:


123

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í .


23
Con credenciales completas, especificando db y servidor: sqlcmd -S <SU-SERVIDOR> -U <SU-USUARIO> -P <SU-PASSWORD> -d <YOUR-DATABASE> -i <YOUR-SQL-FILE-PATH.sql >
a4bike

1
Recibo este problema: "El número de expresiones de valor de fila en la declaración INSERT excede el número máximo permitido de 1000 valores de fila".
Christian Fredh

3
agregar -epara conexión confiable
smurtagh

33

¡Podría ayudarte! Consulte los pasos a continuación.

sqlcmd -S nombre-servidor -d nombre-base-datos -i script.sql

  • Abra cmd.exe como administrador.
  • Crear directorio de documentos.
  • Coloque su archivo de script SQL (script.sql) en la carpeta de documentos.
  • Escriba consulta con sqlcmd, nombre de servidor, nombre de base de datos y nombre de archivo de secuencia de comandos como la consulta resaltada arriba o debajo de la pantalla de línea de comando.

ingrese la descripción de la imagen aquí


Puede agregar el nombre de usuario -sa y la contraseña -123, sqlcmd -S viaserver -U sa -P 123 -d TelstraDeployed -i SQLQuery1.sql
Anil Singh

11

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í )


9

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


5

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

4

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


2

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.


2

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


$ comment fue muy útil. Gracias
Pale Ale

1

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


1

Prueba este paso

1) Abrir PowerShell

2) Escriba este comando:

sqlcmd -S PCNAME\SQLEXPRESS -U user -P password -d databanse_name -i C:\script.sql

3) Presione Retorno

:-)

ingrese la descripción de la imagen aquí


1

Si necesita conectarse a LocalDB durante el desarrollo, puede usar:

sqlcmd -S "(localdb)\MSSQLLocalDB" -d dbname -i file.sql
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.