Ne peut pas Exécuter script: mémoire insuffisante pour poursuivre l'exécution du programme

j'ai un fichier sql de 123MO que je dois exécuter dans mon PC local. Mais je reçois

Cannot execute script: Insufficient memory to continue the execution of the program

enter image description here

Comment résoudre ce problème?

58
demandé sur user960567 2013-07-29 11:58:52

11 réponses

utilisez L'outil en ligne de commande SQLCMD qui est beaucoup plus allégé sur la mémoire. C'est aussi simple que:

SQLCMD -d <database-name> -i filename.sql

vous avez besoin de justificatifs d'identité valides pour accéder à L'instance de votre serveur SQL ou même pour accéder à une base de données

tiré de ici .

81
répondu Thangamani Palanisamy 2017-10-09 09:08:26

ça pourrait vous aider! Consultez les étapes ci-dessous.

sqlcmd -S serveur-nom -d de base de données-nom -je le script.sql

  • Ouvrir cmd.exe en tant qu'Administrateur.
  • créer répertoire de Documents.
  • mettez votre fichier de Script SQL (script.sql) dans le dossier documents.
  • requête de Type avec sqlcmd, server-name, database-name et script-file-name comme like au-dessus de la requête surlignée ou au-dessous de l'écran de ligne de commande.

enter image description here

16
répondu Anil Singh 2017-09-13 14:58:01

vous pouvez aussi simplement augmenter la mémoire minimale par valeur de requête dans les propriétés du serveur. Pour modifier ce paramètre, faites un clic droit sur le nom du serveur et sélectionnez Propriétés > onglet Mémoire.

j'ai rencontré cette erreur en essayant d'exécuter un script SQL de 30 Mo dans SSMS 2012. Après avoir augmenté la valeur de 1024MB à 2048MB, j'ai pu lancer le script.

(C'est la même réponse que j'ai donnée ici )

6
répondu dstetsenko 2018-09-15 04:06:53

si je comprends votre problème correctement, vous essayez de restaurer (transacter sql) xyz.sql - base de données de + de schéma. Vous pouvez essayer cette commande qui a fonctionné pour moi:

SQLCMD -U sa -i xyz.sql
4
répondu user3228486 2016-04-12 18:36:46

pour L'authentification de Windows utilisez ce cmd sql

SQLCMD -S TestSQLServer\SQLEXPRESS  -d AdventureWorks2018 -i "d:\document\sql document\script.sql"

Note: S'il y a un espace dans le chemin du fichier sql, alors utiliser" (guillemets) "

Pour l'Authentification SQL Server utiliser cette sql cmd

SQLCMD -S TestSQLServer\SQLEXPRESS -U sa -P sasa  -d AdventureWorks2018 -i "d:\document\sql document\script.sql"

- s TestSQLServer\SQLEXPRESS: spécifiez ici le nom du serveur SQL

- U sa: nom D'utilisateur (en cas D'authentification SQL Server)

-P sasa: Mot de passe (dans le cas de l'Authentification SQL Server)

- d AdventureWorks2018: nom de la base de données come here

- i "d:\document\sql document\script.sql": chemin de fichier de SQLFile

3
répondu Manjunath Bilwar 2018-07-27 19:45:49

parfois, en raison de la taille importante du script et des données, nous rencontrons ce type d'erreur. Le serveur a besoin de suffisamment de mémoire pour exécuter et donner le résultat. On peut simplement augmenter la taille de la mémoire, par requête.

vous avez juste besoin d'aller dans l'onglet Propriétés du serveur sql > onglet Mémoire (côté gauche)> maintenant, définissez la limite de mémoire maximale que vous voulez ajouter.

aussi, il y a une option en haut, "résultats au texte", qui consomment moins de mémoire par rapport à option "résultats à la grille", on peut aussi aller pour résultat au texte pour moins d'exécution de mémoire.

2
répondu Ankita shrivastava 2016-10-06 06:39:28

sqlcmd-s mamxxxxxmu\sqlserverr-U sa-P x1123-d QLDB-i D:\qldbscript.sql

  • Ouvrir l'invite de commandes à exécuter en tant qu'administrateur

  • entrer au-dessus de la commande

"mamxxxxxmu" est un nom d'ordinateur "sqlserverr" est le nom du serveur "sa" est le nom d'utilisateur du serveur "x1123" est le mot de passe du serveur "QLDB" est nom de base de données "D:\qldbscript.sql " est un fichier de script sql à exécuter dans la base de données

1
répondu Mahmaood ali 2017-11-09 09:20:50

Essayez cette étape,

1) Ouverture PowerShell

2)écrivez cette commande:

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

3)Appuyez Sur La Touche Retour

: -)

enter image description here

1
répondu daniele3004 2017-11-14 10:06:31

si vous devez vous connecter à LocalDB pendant le développement, vous pouvez utiliser:

sqlcmd -S "(localdb)\MSSQLLocalDB" -d dbname -i file.sql
1
répondu lukyer 2018-04-03 13:50:42

Télécharger SQL Server Management Studio 17.6 et essayez d'exécuter le Script. Lien de téléchargement https://go.microsoft.com/fwlink/?linkid=870039 Il a travaillé pour moi. J'avais 214 Mo de fichier.

0
répondu Dharmendra Prajapati 2018-03-21 14:31:51

le script ci-dessous fonctionne parfaitement:

sqlcmd -s Server_name -d Database_name -E -i c:\Temp\Recovery_script.sql -x

symptômes:

Lors de l'exécution d'un script de récupération avec l'utilitaire sqlcmd, le "Sqlcmd: Erreur: erreur de Syntaxe à la ligne XYZ près de commande ‘X’ dans le fichier" nom_fichier.SQL.’’ erreur est rencontrée.

Cause:

il s'agit d'une limitation d'utilité sqlcmd. Si le script SQL contient le signe dollar ( $ ) sous n'importe quelle forme, le utility est incapable d'exécuter correctement le script, car il remplace toutes les variables automatiquement par défaut.

résolution:

pour exécuter un script qui a un signe dollar ($) sous n'importe quelle forme, il est nécessaire d'ajouter le paramètre"- x " à la ligne de commande.

p.ex.

Origine: sqlcmd-s Server_name-d Database_name -E-i c:\Temp\Recovery_script.sql

fixe: sqlcmd-s Server_name-d Database_name -E-i c:\Temp\Recovery_script.sql-x

0
répondu Nimesh khatri 2018-07-04 06:54:13