J'ai un fichier sql de 123 Mo que je dois exécuter sur mon PC local. Mais j'obtiens
Cannot execute script: Insufficient memory to continue the execution of the program
Comment résoudre ce problème ?
J'ai un fichier sql de 123 Mo que je dois exécuter sur mon PC local. Mais j'obtiens
Cannot execute script: Insufficient memory to continue the execution of the program
Comment résoudre ce problème ?
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 message 'Sqlcmd : Erreur : Syntax error at line XYZ near command 'X' in file 'file_name.sql'.' est rencontrée.
Cause :
Il s'agit d'une limitation de l'utilitaire sqlcmd. Si le script SQL contient le signe dollar ($) sous quelque forme que ce soit, l'utilitaire est incapable d'exécuter correctement le script, puisqu'il substitue toutes les variables automatiquement par défaut.
Résolution :
Afin d'exécuter le 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.
par exemple
Original : sqlcmd -s nom_serveur -d nom_base de données -E -i c : \Temp\Recovery_script.sql
Fixe : sqlcmd -s nom_serveur -d nom_base de données -E -i c : \Temp\Recovery_script.sql -x
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 s'exécuter et donner le résultat. Nous pouvons simplement augmenter la taille de la mémoire, par requête.
Il vous suffit d'aller dans les propriétés du serveur sql > onglet Mémoire (côté gauche) > Définissez ensuite la limite de mémoire maximale que vous souhaitez ajouter.
De plus, il y a une option en haut, "Résultats vers le texte", qui consomme moins de mémoire que l'option "Résultats vers la grille", nous pouvons aussi choisir l'option "Résultats vers le texte" pour une exécution moins gourmande en mémoire.
sqlcmd -S mamxxxxxmu \sqlserverr -U sa -P x1123 -d QLDB -i D:\qldbscript.sql
Ouvrez l'invite de commande dans Exécuter en tant qu'administrateur
entrez la commande ci-dessus
"mamxxxxxmu" est le nom de l'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 le nom de la base de données " D:\qldbscript.sql "est le fichier sql script à exécuter dans la base de données.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.