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 :

Script : définition et contenu des tables


Sujet :

Développement SQL Server

  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2018
    Messages : 31
    Par défaut Script : définition et contenu des tables
    Bonjour,

    Je voudrais faire un script SQL qui va me permettre d'exporter la définition de toutes les tables en SQL avec leurs données.

    Par contre, je n'arrive pas à trouver de script sur le net.

    Avez-vous une piste ? Pouvez-vous m'aider s'il vous plait ?

    Merci d'avance. Et bon lundi à tous !

    EDIT : Pour info, c'est une base de donnée Microsoft SQL Server.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 009
    Billets dans le blog
    6
    Par défaut
    Dans SSMS, cliquez droit sur le base de données considérée et choisissez "Tâches" / "Générer des scripts". Ceci affiche un assistant qui vous guidera pour sélectionner les éléments que vous souhaitez scripter.
    Dans la fenêtre des options, sélectionnez bien "schéma et données" :

    Nom : SSMS SQL Server.jpg
Affichages : 703
Taille : 48,0 Ko

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2018
    Messages : 31
    Par défaut
    Merci pour la réponse

    Mais, c'est impossible d'avoir le script avec du SQL ?

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    si, possible, mais plus compliqué, bien plus compliqué !

    Quel est le contexte ?

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 009
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par Vengryn Voir le message
    Merci pour la réponse

    Mais, c'est impossible d'avoir le script avec du SQL ?
    Mais c'est exactement le script avec du SQL qui va vous être pissé !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2018
    Messages : 31
    Par défaut
    Oui SQLpro, je sais bien.

    Mais, est-ce possible d'avoir ce script avec une requête SQL, par exemple ?

    J'ai essayé avec cette requête :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DECLARE @fileName varchar(100);
    DECLARE @dbName varchar(100);
    DECLARE @fileDate varchar(100);
     
    Set @fileName = 'C:/Backups/'
    Set @dbName = 'Extranet'
    Set @fileDate = CONVERT(varchar(20), Getdate(), 112);
     
    Set @fileName = @fileName  + @dbName + '-' + fileDate + '.sql';
     
    BACKUP Database @dbName to Disk = @fileName

    Elle marche bien, mais, je n'ai pas mon script. Cela m'indique des NULL dans le fichier :/

    Super aieeeuuuuu et comment on fait ? Tu as pas un tuto s'il te plait ?

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 009
    Billets dans le blog
    6
    Par défaut
    Possible mais extrêmement complexe. il y a environ 300 cas particuliers à traiter.... donc un script de quelques millier sde lignes de code... Bon courage et à l'année prochaine !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Citation Envoyé par Vengryn Voir le message
    Super aieeeuuuuu et comment on fait
    on remonte ses manches, genre jusqu'aux épaules... et on prévoit le stock d'aspirine

    ou bien...

    On cherche une solution alternative en fonction du besoin et du contexte.

  9. #9
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2018
    Messages : 31
    Par défaut
    Ouais, je vais chercher une solution alternative. Merci

    Avec C# voire Powershell, ça sera plus simple, non ?

  10. #10
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2018
    Messages : 31
    Par défaut
    Bonjour

    Bon, j'ai opté pour du C#, c'était plus pratique. J'ai décidé de faire une application WinForms.

    Tout marche nickel.

    J'arrive à me connecter à ma base de donnée, à choisir ma base de donnée et à exporter ma base de donnée.
    Par contre, je l'exporte en format .bak grâce à la requête "backup database to disk". Aucun moyen de l'exporter en fichier .sql s'il vous plait ?

    Merci

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Vengryn Voir le message
    Par contre, je l'exporte en format .bak grâce à la requête "backup database to disk". Aucun moyen de l'exporter en fichier .sql s'il vous plait ?
    cf réponse 2 : https://www.developpez.net/forums/d1.../#post10845521

  12. #12
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    981
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 981
    Par défaut
    Non, il n'existe pas de moyen NATIF dans SQL server d'avoir l'équivalent du résultat d'un Mysqldump.
    Et c'est une bonne chose
    Le backup SQL est, de très loin, meilleur que mysqldump.

    La seule méthode est d'utiliser les tables systèmes "du catalogue" pour faire des requêtes qui "reconstruisent" la base.

    Il y a des développements existants, et notamment dans SSMS comme l'a fait remarqué SQLpro.

    Ici une piste pour l'intégration avec un projet externe : https://archive.codeplex.com/?p=sqlhost

  13. #13
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 009
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par Vengryn Voir le message
    ??? Aucun moyen de l'exporter en fichier .sql s'il vous plait ?
    Si, par le même outil et si vous acceptez que cela dure 10 à 100 fois plus longtemps qu'une réelle sauvegarde binaire, sachant que MySQmerde ne sait par faire de réelle sauvegarde….

    A lire : https://blog.developpez.com/sqlpro/p...p_et_log_ne_so

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  14. #14
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    981
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 981
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Si, par le même outil
    comment t'arrive à te connecter à une instance SQL en utilisant mysqldump ???
    Je suis preneur de la syntaxe.

  15. #15
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    981
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 981
    Par défaut
    Une fois admis qu'une sauvegarde n'est pas un script, la question d'obtenir le script de la base reste ouverte.

    2 solutions pour générer les scripts via l'interface SSMS
    1- générer des scripts (solution détaillée par SQLpro)
    2- générer un fichier bacpac
    . Clic droit sur la base
    . tâches > exporter une couche d'application de la couche de donnée

    Note : le fichier bacpac peut être plus "léger" que la sauvegarde, même compressée, de la base. C'est principalement du au fait que le fichier est un ZIP de fichiers XML et bcp.
    Attention : lors de la "restauration" le fichier journal aura la taille initiale si fichier bak et, au minimum, la taille de la transaction la plus forte (fonction de la plus grosse table).


    Sinon pour faire une programmation "custom" il me semble que la bibliothèque SMO devrait répondre à tes besoins.
    Peut être qu'ici tu trouvera le début d'une piste :
    https://docs.microsoft.com/fr-fr/dot...ect_ScriptImpl

    Dès fois que tu soit passé à autre chose, merci de marquer comme résolu.

  16. #16
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2018
    Messages : 31
    Par défaut
    Bonjour,

    Désolé pour le retard.

    Oui, j'ai résolu mon problème grâce à la bibliothèque SMO

    Merci à vous ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. le contenu des tables
    Par mina-info dans le forum Sql Developer
    Réponses: 6
    Dernier message: 08/09/2011, 18h24
  2. Vider contenu des tables à partir d'un schéma
    Par mizuka dans le forum Administration
    Réponses: 0
    Dernier message: 06/01/2010, 20h48
  3. Réponses: 1
    Dernier message: 02/04/2009, 17h10
  4. Réponses: 1
    Dernier message: 02/04/2009, 17h10
  5. Web query : comment piloter le contenu des tables
    Par mplaine dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/12/2008, 15h08

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