Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Administration
Administration Forum d'entraide sur l'administration du dataserver, via SSM ou ligne de commande, les tables système, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/02/2012, 10h40   #1
Invité de passage
 
Inscription : mai 2006
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 43
Points : 2
Points : 2
Par défaut Copie base de données - Erreur d'exécution

Et re !

J'essaie toujours de migrer une BDD SQL 2000 vers 2005 via l'assistant Copie de base de données et l'exécution stoppe à cette erreur :

Citation:
Aucune clé primaire ou candidate dans la table référencée 'dbo.AGENT' ne correspond à la liste des colonnes de référence de la clé étrangère 'FK_BADGE_AGENT'.
Il veut peut-être exécuter une contrainte de clé étrangère avant de créer la table AGENT ? Je ne comprends pas. Ou alors la clé étrangère utilisée pour FK_BADGE_AGENT est fausse ? Mais comment je peux modifier ceci ???

Merci
lynal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 10h54   #2
Membre Expert
 
Avatar de Kropernic
 
Homme
Analyste / Programmeur
Inscription : juillet 2006
Messages : 1 307
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Belgique

Informations professionnelles :
Activité : Analyste / Programmeur
Secteur : Distribution

Informations forums :
Inscription : juillet 2006
Messages : 1 307
Points : 1 019
Points : 1 019
Je ne sais pas trop comment ta copie s'effectue mais s'il s'agit d'un script auto-généré (ou non), il faut faire attention à l'ordre de création des objets (et également à l'ordre d'insertion des données dans ces objets).

Si tu as deux tables T1 et T2 et que T1 contient une clef étrangère qui référence la table T2, il faut aller créer la table T2 en premier car sinon, lors de la création de la contrainte de clef étrangère sur T1, tu auras une erreur car la colonne de référence dans la table T2 n'existera pas encore.

En espérant avoir aidé,

Griftou.
Kropernic est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 11h00   #3
Invité de passage
 
Inscription : mai 2006
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 43
Points : 2
Points : 2
Eh oui je sais bien , mais le script est auto-généré par l'assistant copie base de données.

J'ai récupéré le package .dtsx, mais je ne trouve pas comment modifier l'ordre des requêtes, je ne vois que les propriétés du package :/
lynal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 11h05   #4
Membre Expert
 
Avatar de Kropernic
 
Homme
Analyste / Programmeur
Inscription : juillet 2006
Messages : 1 307
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Belgique

Informations professionnelles :
Activité : Analyste / Programmeur
Secteur : Distribution

Informations forums :
Inscription : juillet 2006
Messages : 1 307
Points : 1 019
Points : 1 019
Si c'est un package SSIS, tout dépend de ce qu'il contient.

C'est un pakage que toi un collègue avez créé ou bien est-ce un package "par défaut" de sql server ?
Kropernic est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 11h28   #5
Invité de passage
 
Inscription : mai 2006
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 43
Points : 2
Points : 2
Non c'est le package qui est automatiquement généré lors de l'exécution de l'assistant de copie de base de données
lynal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 11h35   #6
Membre Expert
 
Avatar de Kropernic
 
Homme
Analyste / Programmeur
Inscription : juillet 2006
Messages : 1 307
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Belgique

Informations professionnelles :
Activité : Analyste / Programmeur
Secteur : Distribution

Informations forums :
Inscription : juillet 2006
Messages : 1 307
Points : 1 019
Points : 1 019
Arf, je n'ai jamais utilisé cet assistant... Je vais voir si je trouve quelque chose ^^.

Mais je pense que de "vrais" DBA pourraient te répondre plus rapidement (je ne fais que jouer à l'apprenti sorcier personnellement ^^)
Kropernic est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 11h36   #7
Invité de passage
 
Inscription : mai 2006
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 43
Points : 2
Points : 2
Ben pareil :/, normalement tout devait bien se passer
lynal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 11h40   #8
Membre Expert
 
Avatar de Kropernic
 
Homme
Analyste / Programmeur
Inscription : juillet 2006
Messages : 1 307
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Belgique

Informations professionnelles :
Activité : Analyste / Programmeur
Secteur : Distribution

Informations forums :
Inscription : juillet 2006
Messages : 1 307
Points : 1 019
Points : 1 019
Bon, j'ai trouvé l'assistant et je teste.

Si j'ai bien compris, tu l'exécute sous sql server 2000... Perso, je suis sous 2005 et à un moment, il me demande quelle méthode je veux utiliser (soit detach/attach, soit sql management object).

As-tu cette étape également ?

Si oui, as-tu la possibilité de choisir la première solution ? Je pense que cela devrait pouvoir résoudre tes problèmes.
Kropernic est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 11h42   #9
Invité de passage
 
Inscription : mai 2006
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 43
Points : 2
Points : 2
Alors je l'exécute sur SQL 2005 et oui j'ai la demande de méthode

J'ai choisi la seconde méthode, qui permet aux utilisateurs de rester connectés.
lynal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 11h46   #10
Membre Expert
 
Avatar de Kropernic
 
Homme
Analyste / Programmeur
Inscription : juillet 2006
Messages : 1 307
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Belgique

Informations professionnelles :
Activité : Analyste / Programmeur
Secteur : Distribution

Informations forums :
Inscription : juillet 2006
Messages : 1 307
Points : 1 019
Points : 1 019
Pourquoi ne pas choisir la première et planifier la migration à un moment où aucun utilisateur ne travaille dessus ? Genre vers 2h du matin par exemple...
Kropernic est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 11h49   #11
Invité de passage
 
Inscription : mai 2006
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 43
Points : 2
Points : 2
Ca ne change rien, c'est juste un peu plus long... non ?
lynal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 12h06   #12
Membre Expert
 
Avatar de Kropernic
 
Homme
Analyste / Programmeur
Inscription : juillet 2006
Messages : 1 307
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Belgique

Informations professionnelles :
Activité : Analyste / Programmeur
Secteur : Distribution

Informations forums :
Inscription : juillet 2006
Messages : 1 307
Points : 1 019
Points : 1 019
De ce que j'ai compris :

- La première méthode va faire un detach de ta DB et ensuite copier vers le/les folder de destination et faire un attach de la db aussi bien sur le serveur source que sur le serveur de destination. Ce qui implique que pendant ce temps, la DB soit hors ligne et donc non disponible pour les utilisateurs.

- La seconde méthode va "scripter" tous les objets de la DB ainsi que les données qu'ils contiennent et exécuter ce script sur le serveur de destination. Et apparemment, d'après l'erreur que tu nous rapportes, j'aurais tendance à dire qu'il ne tient pas compte de la précession (est-ce le terme correct?) des objets.

Du coup, j'aurais tendance à conclure que tu ferais mieux d'utiliser la première méthode et de la planifier (vu que l'assistant le propose) à un moment de la journée qui convient à tes utilisateurs.
Kropernic est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 13h07   #13
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 725
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 725
Points : 6 849
Points : 6 849
Bonjour,

Backup / Restore ou
Detach / Attach

Cela ira beaucoup plus vite.

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 13h50   #14
Invité de passage
 
Inscription : mai 2006
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 43
Points : 2
Points : 2
Le backup/restore entre SQL2000 et SQL2005 n'est pas compatible ? En tout cas j'ai essayé avec un .bak qu'on m'a donné et ça m'a retourné une erreur du genre 'Fichier mal formé'.

Pour l'instant j'ai pas accès à la machine source (j'ai qu'un ID BDD pour me connecter à SQL2000) du coup je ne peux pas créer de dossier partagé pour récupérer les fichiers (c'est imposé par la méthode detach/attach)
lynal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 14h27   #15
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 725
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 725
Points : 6 849
Points : 6 849
Citation:
J'essaie toujours de migrer une BDD SQL 2000 vers 2005
Si c'est bien le cas il est bien possible de restaurer une base 2000 sur 2005. La base sera restaurée en mode de compatibilité 80.

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2012, 09h14   #16
Invité de passage
 
Inscription : mai 2006
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 43
Points : 2
Points : 2
Et re !

J'ai récupéré un fichier de restauration (.BAK) plus récent, je vais voir si la copie ne me retourne pas une erreur comme avec l'autre
lynal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2012, 11h22   #17
Invité de passage
 
Inscription : mai 2006
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 43
Points : 2
Points : 2
......


Bon.... avec un autre .bak la restauration a fonctionné. Donc le premier fichier était corrompu....

...

M'a fallu 4 fois le demander ce fichier snif.

Merci beaucoup de m'avoir aidé
lynal est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h50.


 
 
 
 
Partenaires

Hébergement Web