IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Exécution d'un script sql volumineux


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut Exécution d'un script sql volumineux
    Bonsoir à tous,
    j'ai un script de 30 GO il contient une la déclaration d'une base de données complète avec les données.
    Comment faire pour l'exécuter sur mon serveur.
    Pour moi il faut le décomposer en plusieurs parties et exécuter partie par partie.
    Comment faire?

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu devrais demander une vraie sauvegarde de la bd, ça simplifierait largement la création.
    Sinon, si tu as un fichier de création SQL de 30 Go, je ne vois pas trop comment manipuler un fichier de cette taille.
    Sûrement que VI sous Unix pourrait faire ça !

    J'aimerais bien voir la tête du serveur qui a généré un tel monstre...

  3. #3
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Par exemple avec un script powershell qui utilise un reader .NET. Le reader ne lit qu'une ligne à la fois et ne charge pas tout le fichier en mémoire. ça prendra du temps, mais ça ne posera pas de problème.
    Exemple de code tiré de cette réponse : http://stackoverflow.com/questions/4...ne-as-a-stream
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $reader = [System.IO.File]::OpenText("my.log")
    try {
        for(;;) {
            $line = $reader.ReadLine()
            if ($line -eq $null) { break }
            # process the line
            $line
        }
    }
    finally {
        $reader.Close()
    }
    Il ne te reste plus qu'à utiliser une commande sqlcmd dans la boucle, ou faire un appel direct en SQL avec une SqlConnection + SqlCommand en ADO.NET.
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  4. #4
    Membre actif
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 141
    Points : 210
    Points
    210
    Par défaut
    Bonjour,

    Avez vous essayez d'utiliser la ligne de commande ?

    sqlcmd -S <server> -i C:\Monfichier.sql

    Sqlcmd [-U login id] [-P password]
    [-S server] [-H hostname] [-E trusted connection]
    [-d use database name] [-l login timeout] [-t query timeout]
    [-h headers] [-s colseparator] [-w screen width]
    [-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]
    [-c cmdend] [-L[c] list servers[clean output]]
    [-q "cmdline query"] [-Q "cmdline query" and exit]
    [-m errorlevel] [-V severitylevel] [-W remove trailing spaces]
    [-u unicode output] [-r[0|1] msgs to stderr]
    [-i inputfile] [-o outputfile] [-z new password]
    [-f | i:[,o:]] [-Z new password and exit]
    [-k[1|2] remove[replace] control characters]
    [-y variable length type display width]
    [-Y fixed length type display width]
    [-p[1] print statistics[colon format]]
    [-R use client regional setting]
    [-b On error batch abort]
    [-v var = "value"...] [-A dedicated admin connection]
    [-X[1] disable commands, startup script, environment variables [and exit]]
    [-x disable variable substitution]
    [-? show syntax summary]

    Il existe certain logiciel open source qui permette apparemment d'importer les gros fichiers
    http://bigsqlrunner.codeplex.com/

    l'avez vous essayé ?
    DSI et développeur du logiciel Lulidb
    http://www.lulidb.com - outils de gestion de base de données orienté développer.

Discussions similaires

  1. Gestion des codes retour durant l'exécution d'un script SQL
    Par Michel Landrain dans le forum Requêtes
    Réponses: 1
    Dernier message: 03/11/2015, 10h51
  2. Exécution d'un script SQL d'un seul coup
    Par JuniorBI dans le forum SQL
    Réponses: 2
    Dernier message: 28/10/2011, 10h53
  3. Exécution d'un script sql / base MS SQL Server
    Par abdelghani_k dans le forum Bases de données
    Réponses: 4
    Dernier message: 16/03/2011, 21h34
  4. Réponses: 2
    Dernier message: 15/03/2009, 08h29
  5. mavaise fin d'exécution de mon script .sql
    Par super_dz dans le forum Oracle
    Réponses: 4
    Dernier message: 13/05/2007, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo