Erreur lors de l’exécution d’un script de 50 Mo sur SQL Server 2008 R2

J’utilise SQL Server 2008 R2, j’ai un script pour mettre à jour la firebase database, ce script a une taille d’environ 50 Mo et contient environ 800 000 lignes.

Erreur:

TITRE: Microsoft SQL Server Management Studio

Impossible d’exécuter le script.

INFORMATION ADDITIONNELLE:

Mémoire insuffisante pour poursuivre l’exécution du programme. (mscorlib)

Quelqu’un peut-il m’aider s’il vous plaît à exécuter ce script sans obtenir cette erreur?

utilisez l’outil de ligne de commande SQLCMD, qui est beaucoup plus léger en mémoire. C’est aussi simple que:

SQLCMD -d  -i filename.sql 

Vous avez besoin d’informations d’identification valides pour accéder à votre instance SQL Server ou même pour accéder à une firebase database

En ajoutant à la réponse de @ user1293068, je devais spécifier le nom de l’instance. Voici ma syntaxe complète:

 sqlcmd -S \ -d  -i  

Ceci est documenté sur l’article Utiliser l’utilitaire sqlcmd de Technet.

(Notez que vous devez entrer une valeur de commutation “-S”, pas “-s”. Le commutateur est sensible à la casse.)

Vous pouvez également essayer d’augmenter la valeur de la mémoire maximale du serveur 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 30MB dans SSMS 2012.
Après avoir augmenté la valeur de 1024MB à 2048MB 1024MB j’ai pu exécuter le script.

Si les informations d’identification sont requirejses

 sqlcmd -S \ -U  -P  -d  -i  

Ok, aucune des réponses n’était suffisante pour que mon script soit restauré avec succès.

Alors:

  1. Assurez-vous que votre compte réseau dispose des permissions suffisantes pour accéder à la fois à l’instance SQL Server et à la firebase database spécifique que vous souhaitez restaurer.

  2. Il est préférable que la firebase database que vous souhaitez restaurer existe réellement, si elle a été simplement générée à partir de Generate Scripts (avec des modifications pour inclure à la fois Schema et Data)

  3. Exécutez l’outil de ligne de commande en mode Administrateur (si nécessaire), par exemple, tapez CMD depuis Exécuter dans le menu Démarrer.

  4. Dans l’outil de ligne de commande, tapez quelque chose comme "SQLCMD -d CMS -i C:\Carnotaurus\Data\script.sql" . Ici, CMS est le nom de la firebase database que j’ai l’intention de restaurer et "C:\Carnotaurus\Data\script.sql" est le chemin complet du script de restauration généré par les scripts de génération dans SMSS.

J’espère que cela élimine quelques étapes manquantes.

J’ai également rencontré un problème similaire dans SQL Server 2012, car la taille de mon fichier était de 70 Mo.

Solution qui a fonctionné pour moi, Augmentez le fichier journal à Illimité.

  1. Ouvrez SQL Server Management Studio
  2. Dans l’Explorateur d’objects, cliquez avec le bouton droit sur le nom de la firebase database et cliquez sur Propriétés.
  3. Dans la section Fichier, modifiez la taille de la taille des données et du journal Autogrow en nombre illimité.