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 :

Recopier une table depuis MSSQLServer 7.0


Sujet :

MS SQL Server

  1. #1
    Membre habitué
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2006
    Messages : 121
    Points : 127
    Points
    127
    Par défaut Recopier une table depuis MSSQLServer 7.0
    Bonjour,

    J'ai une base avec une table contenant 1,5 millions d'enregistrements.
    Un programme effectue tout un tas de requete sur cette table, malheureusement, à la conception ils ont laissé de coté un champ qui servirait à indexer un peu mieux la table et accélérer les requetes!

    Sauf que pour rajouter ce champ dans la table, avec le Pentium III qui sert de serveur, la requete prendrait peut-être bien une dizaine d'heure... ou plus!

    Il faudrait recopier la table vers une autre base sur un PC plus puissant, et le laisser travailler le temps qu'il faudra puis la remettre en place sur le serveur.

    Seulement voilà, le serveur tourne sous NT4 avec SQLServer 7.0 Standard.
    Et le poste le plus puissant est sous Windows 2000. SQLServer n'accepte de s'y installer que dans la version SQLServer 7.0 Desktop...
    Il semble que l'assistant d'importation et exportation de données ne soit pas compatible entre ces 2 versions. Pas moyen de recopier la table...

    Y a-t-il une parade pour installer SQLServer 7 standard sur Windows 2000?
    Ou y a-t-il une autre facon de recopier une table avec les clés, index, etc sans passer par l'assistant?


    Merci d'avance pour votre aide!

  2. #2
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    344
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 344
    Points : 324
    Points
    324
    Par défaut
    Pourquoi ne pas faire un backup de cette base et la restaurer sur une base temporaire (le temps de l'opération) sur le SQL2000 ?

  3. #3
    Membre habitué
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2006
    Messages : 121
    Points : 127
    Points
    127
    Par défaut
    Juste parce qu'on a pas SQLServer 2000...
    Pas de clé, pas de logiciel...

    Pas de bras... Pas de chocolat!

  4. #4
    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,

    Si je comprends bien, l'édition de Windows 2000 n'est pas Serveur.
    Tu as d'autres solutions :
    - passer par un backup restore pour copier ta base vers la version desktop
    - faire la mise à jour que tu souhaites sur ta machine serveur, en codant une mise à jour par lots, certes cela prendra du temps mais tu éviteras le verrouillage. Par exemple comme ceci (non testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    DECLARE @rowcount int
    SET @rowcount = 1
    SET ROWCOUNT 10000
    WHILE @rowcount > 0 BEGIN
        UPDATE matable SET macolonne = ... WHERE macolonne IS NULL
        SET @rowcount = @@ROWCOUNT
    END
    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

Discussions similaires

  1. script sql pour recopier une table
    Par sylvain1554 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 04/05/2007, 12h33
  2. Réponses: 6
    Dernier message: 28/02/2007, 09h37
  3. [WCE] Charger une table depuis un dataset
    Par dacid dans le forum Windows Mobile
    Réponses: 15
    Dernier message: 30/11/2006, 11h29
  4. Mettre à jour une table depuis une autre
    Par snubi dans le forum Access
    Réponses: 1
    Dernier message: 20/04/2006, 19h28
  5. Mettre à jour une table depuis une autre
    Par rsc dans le forum SQL
    Réponses: 4
    Dernier message: 09/07/2004, 10h08

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