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 Server 2005] Copie/Déplacement de base pour changement de serveur


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 114
    Points : 59
    Points
    59
    Par défaut [SQL Server 2005] Copie/Déplacement de base pour changement de serveur
    Bonjour à vous,

    Je souhaite migrer mon environnement de développement de S1 vers S2.
    S1 et S2 sont 2 serveurs SQL.
    J'ai une BD SQL Server 2005 sur un serveur S1.
    Je souhaite avoir la même base sur un serveur S2.
    Je n'arrive pas à copier exactement ma base de S1 sur S2.

    1) Si, sur S1, je passe par Tâches>Copier la base de données...
    Je récupère sur S2 ma base avec l'intégralité des données, mais je perds toutes mes clefs primaires, étrangères, contraintes...

    2) Si, sur S1, je passe par Tâches>Générer des scripts, je génère un script qui lorsque je le passe sur S2 me contruit bien mes tables (clefs primaires, étrangères comprises). Mais ces tables sont ensuite vides.
    Je passe alors, toujours sur S1, par Tâches>Exporter des données pour remplir ma base sur S2.
    Cependant, le remplissage est incorrect. Les clefs primaires ne sont pas référencées correctement.
    Par exemple, la table T_CLIENT, de clef primaire id_client de type séquence (numéro auto incrémentable), aura comme valeurs de clef primaire et de libellés :
    - 1 : client 1
    - 2 : client 2
    - 8 : client 8
    - 20 : client 20
    Ceci car des enregistrement ont été effacés dans cette table sur S1.

    Par contre après export des données sur S2, j'ai :
    - 1 : client 1
    - 2 : client 2
    - 3 : client 8
    - 4 : client 20

    Du coup, dans les tables associatives, c'est le basard. Mon client 8 est référencé avec une clef primaire de valeur 3 alors que dans les tables associatives, avec 8.

    Bref, comment faire un export niquel, qui me donne exactement la même structure de base et exactement les mêmes données.

    Merci beaucoup

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2006
    Messages : 48
    Points : 72
    Points
    72
    Par défaut
    Peux-tu détacher ta base du serveur S1, la copier par explorateur et l'attacher sur le serveur S2 ?

    Comme çà, tu copies le fichier est identique sur S1 et S2 !

    Il y aura peut-etre un problème avec les fichiers LOG ? il faut voir !

  3. #3
    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
    Ce que je fais généralement pour recharger mes bases de recette avec celles de PROD, et même quand je reconstruis un nouvel environnement, c'est faire une sauvegarde complète de ma base, envoyer le fichier .BAK sur l'autre serveur, et la recharger sur l'autre serveur. Il ne te reste donc plus qu'à créer les connexions sur le deuxième serveur et rattacher tes utilisateurs grâce à la commande:
    EXEC sp_change_users_login 'Update_One', 'connexion', 'utilisateur'
    Je récupère donc ma base à l'identique.
    Par contre, il faut le faire pour chaque base.

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par usf70
    Ce que je fais généralement pour recharger mes bases de recette avec celles de PROD, et même quand je reconstruis un nouvel environnement, c'est faire une sauvegarde complète de ma base, envoyer le fichier .BAK sur l'autre serveur, et la recharger sur l'autre serveur. Il ne te reste donc plus qu'à créer les connexions sur le deuxième serveur et rattacher tes utilisateurs grâce à la commande:
    EXEC sp_change_users_login 'Update_One', 'connexion', 'utilisateur'
    Je récupère donc ma base à l'identique.
    Par contre, il faut le faire pour chaque base.
    Je fais comme vous me dites Eaques et usf70.
    Par contre, j'ai le message d'erreur suivant en tentant d'importer le .bak sur S2 :


    Pouvez-vous détailler SVP le :
    envoyer le fichier .BAK sur l'autre serveur, et la recharger sur l'autre serveur. Il ne te reste donc plus qu'à créer les connexions sur le deuxième serveur et rattacher tes utilisateurs grâce à la commande:
    EXEC sp_change_users_login 'Update_One', 'connexion', 'utilisateur'


    Faut-il que la base à remonter soit inexistante sur S2 ou bien qu'elle existe déjà ? (dans mon cas elle existe déjà)

    Merci

  5. #5
    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
    C'est bon si elle existe déjà. Par contre, il faut cocher l'option "remplacer la base existante" et faire attention à l'emplacement des fichiers mdf et ldf, par défaut ce sera l'emplacement des fichiers de la base originale. Il faut y mettre le chemin des fichiers de la base cible.

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par usf70
    C'est bon si elle existe déjà. Par contre, il faut cocher l'option "remplacer la base existante" et faire attention à l'emplacement des fichiers mdf et ldf, par défaut ce sera l'emplacement des fichiers de la base originale. Il faut y mettre le chemin des fichiers de la base cible.
    Tjs le même message d'erreur.
    Les fichiers mdf et ldf sont exactement les mêmes (mêmes noms, mêmes emplacements) sur S1 et S2 pourtant

  7. #7
    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
    C'est bizarre, si l'option "remplacer la base existante" est cochée, il ne devrait pas mettre le message d'erreur comme quoi la base que tu restore n'est pas la même .....

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par usf70
    C'est bizarre, si l'option "remplacer la base existante" est cochée, il ne devrait pas mettre le message d'erreur comme quoi la base que tu restore n'est pas la même .....
    OK, ça a l'air bon. Mauvaise manip de ma part.
    Je faisais Tâches>Restaurer>Fichiers et groupes de fichiers...
    au lieu de :
    Tâches>Restaurer>Bases de données...

    Merci bcp usf70

  9. #9
    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
    N'oublies juste pas de connecter tes connexions à tes utilisateurs.

  10. #10
    Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par usf70
    N'oublies juste pas de connecter tes connexions à tes utilisateurs.
    no pb
    Merci encore ! Bonne journée !

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

Discussions similaires

  1. SQL Server 2005 accessible depuis le net pour mon site internet
    Par anthonyBo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/03/2008, 11h22
  2. SQL Server 2005 sauvegarde quotidienne de base de données
    Par t-die dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/03/2008, 09h30
  3. [SQL SERVER 2005] comment créer une base de données ?
    Par Syrrus dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/03/2007, 14h26
  4. [C#/SQL Server 2005] Comment créer une base de donnée par le code ?
    Par FraktaL dans le forum Accès aux données
    Réponses: 4
    Dernier message: 09/09/2006, 17h27

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