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

MS SQL Server Discussion :

[SQL SRV 05] Récupérer les contraintes


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut [SQL SRV 05] Récupérer les contraintes
    Bonjour,


    Suite à un autre poste, je souhaiterai développé un générateur de procédure create de table. En effet, j'aimerai créer des tables dans une DB sur base d'autre table d'une autre DB.

    Je sais que je peux le faire manuellement à partir de sql server management studio mais mon but est que ce soit full automatique. Pour ce faire, j'ai besoins de savoir ou je peux récuperer les informations sur lmes tables (contraintes, clés....)

    D'avance, je vous remercie de votre aide.

    OLBI

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par défaut
    hello,

    Je n'en ai pas trouvé sur google à mon grand étonnement, du moins une proc qui génère du DDL. Mais ça peut être une tâche très fastidieuse !
    En attendant de trouver qqch,

    la commande sp_help affiche la liste des colonnes, des index, des valeurs par defaut, et les contraintes. La commande sp_helptext affiche le code d'une procédure stockée.

    dans un analyseur de requêtes,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    sp_helptext sp_help 
    go
    te donnera toutes les tables et jointures nécessaires pour récuperer ce dont tu as besoin. C'est une bonne source de départ pour générer un script DDL.

  3. #3
    Membre éclairé Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Par défaut
    Salut,
    je crois que tu pouras trouver ton bonheur dans les tables INFORMATION_SCHEMA.TABLE_CONSTRAINTS et INFORMATION_SCHEMA.KEY_COLUMN_USAGE
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT *
    FROM   INFORMATION_SCHEMA.TABLE_CONSTRAINTS;
    SELECT *
    FROM   INFORMATION_SCHEMA.KEY_COLUMN_USAGE;
    Bon courage

  4. #4
    Membre Expert
    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
    Par défaut
    Bonjour,

    Full automatique une fois, ou régulièrement ?

    Si c'est pour un one shot, tu peux récupérer une version de démo (ou acheter) un de ces outils :

    - SQL Examiner (correct et pas trop cher)
    - Red Gate SQL Compare (la Rolls, cher)
    - SQL Delta
    - ApexSQL SQLDiff

    Sinon, si tu veux répercuter les changements de structure automatiquement, pourquoi ne pas utiliser les triggers DDL ? A l'intérieur de ton trigger DDL, tu récupères une structure XML qui contient le code de modification de l'objet que tu peux par exemple stocker dans une table, et ensuite rejouer dans l'ordre.
    Tu peux même envoyer ces infos au deuxième serveur en utilisant le mécanisme de la notification d'événement DDL, qui utilise Service Broker.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut
    Merci pour toutes les informations.

    La mise à jour des DB est plus pour nos clients qui ne connaissent pas SQL server. Moi je leur fournis la nouvelle découpe et puis ils devront lancer une application qui fera la mise à jour de leur DB. Ce n'est donc pas pour un one shot.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut
    ca y est. J'ai trouvé ce petit soft:

    http://www.microsoft.com/downloads/d...0-371a838e570a

    Database Publishing Wizard 1.1 qui permet de generer un fichier .sql qui contient toutes les requetes pour recreer sa base de données avec ou sans les données.

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

Discussions similaires

  1. [SQL] PHP objet récupérer les résultats d'une requête
    Par kstou2001 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/01/2008, 23h34
  2. Réponses: 2
    Dernier message: 21/03/2007, 16h26
  3. Réponses: 2
    Dernier message: 15/06/2006, 13h43
  4. Réponses: 1
    Dernier message: 27/01/2006, 16h52
  5. Réponses: 3
    Dernier message: 28/11/2003, 21h26

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