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
Comment résoudre ce problème?
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 .
ç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.
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 )
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
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
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.
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
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
: -)
si vous devez vous connecter à LocalDB pendant le développement, vous pouvez utiliser:
sqlcmd -S "(localdb)\MSSQLLocalDB" -d dbname -i file.sql
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.
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