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?
utilisez l'outil de ligne de commande SQLCMD, qui est beaucoup plus maigre en mémoire. C'est aussi simple que:
SQLCMD -d <database-name> -i filename.sql
Vous devez disposer d'informations d'identification valides pour accéder à votre instance SQL Server ou même pour accéder à une base de données.
Tiré de ici .
Cela pourrait vous aider! Veuillez voir les étapes ci-dessous.
sqlcmd -S nom-serveur -d nom-base-donnée -i script.sql
Vous pouvez également simplement augmenter la valeur Mémoire minimale par requête dans les propriétés du serveur. Pour modifier ce paramètre, cliquez avec le bouton 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 1024 Mo à 2048 Mo, j'ai pu exécuter le script.
(C'est la même réponse que j'ai fournie ici )
Si je comprends bien votre problème, vous essayez de restaurer (transact sql) xyz.sql - base de données + schéma. Vous pouvez essayer cette commande qui a fonctionné pour moi:
SQLCMD -U sa -i xyz.sql
Pour l’authentification Windows, utilisez cette cmd cmd
SQLCMD -S TestSQLServer\SQLEXPRESS -d AdventureWorks2018 -i "d:\document\sql document\script.sql"
Remarque: S'il y a de l'espace dans le chemin du fichier SQL, utilisez "(guillemets)"
Pour l’authentification SQL Server, utilisez cette cmd 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 (en cas d'authentification SQL Server)
-d AdventureWorks2018: Nom de la base de données venez ici
-i "d:\document\document SQL\script.sql": chemin du fichier 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 s'exécuter et donner le résultat. Nous pouvons simplement augmenter la taille de la mémoire, par requête.
Vous devez simplement aller dans les propriétés du serveur SQL> onglet Mémoire (côté gauche)> Maintenant, définissez la limite de mémoire maximale que vous souhaitez ajouter.
En outre, il existe une option en haut, "Résultats en texte", qui consomme moins de mémoire que l'option "Résultats en grille". Nous pouvons également utiliser Résultat en texte pour une exécution en mémoire moindre.
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, l’erreur «Sqlcmd: Error: Erreur de syntaxe à la ligne XYZ près de la commande« X »du fichier« nom_fichier.sql ».
Cause:
Ceci est une limitation de l'utilitaire sqlcmd. Si le script SQL contient un signe dollar ($) sous quelque forme que ce soit, l'utilitaire ne peut pas exécuter correctement le script car il substitue automatiquement toutes les variables par défaut.
Résolution:
Pour exécuter un script avec 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 du serveur -d Nom de la base de données -E -i c:\Temp\Recovery_script.sql
Correction: Sqlcmd -s nom_serveur -d nom_base_données -E -i c:\Temp\Recovery_script.sql -x
Si vous devez vous connecter à LocalDB pendant le développement, vous pouvez utiliser:
sqlcmd -S "(localdb)\MSSQLLocalDB" -d dbname -i file.sql
sqlcmd -S mamxxxxxmu\sqlserverr -U sa -P x1123 -d QLDB -i D:\qldbscript.sql
Ouvrir l'invite de commande en cours d'exécution 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 un fichier script SQL à exécuter dans la base de données.
Téléchargez 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 Cela a fonctionné pour moi. J'avais un fichier de 214 MB.
Ma base de données était supérieure à 500 Mo, j'ai ensuite utilisé ce qui suit
C:\Windows>sqlcmd -S SERVERNAME -U USERNAME -P PASSWORD -d DATABASE -i C:\FILE.sql
Il a chargé tout, y compris les SP
* NB: Lancer la cmd en tant qu'administrateur