Migration de 2000 vers 2008

Le
Bl
Bonjour à tous,

Suite à une deuxième tentative de migration d'une base de données d'un SQL
Server 2000 vers SQL Server 2008, je me permet de quérir de l'aide.

Ci dessous les étapes de la migration :
- Backup de la base sql server 2000;
- Restauration sur le sql server 2008;
- Passage en mode compatibilité 2008;
- Recalcul de tous les index (commande dbcc dbreindex);
- Recalcul des statitiques (commande update statistics .. with fullscan);
- Recompilation des procédures stockées;
- Recompilation des fonctions.

Tous ce passe bien jusqu'à ce que je lance mon applicatif. Nous avons
identifié une procédure stockée utilisée lors de l'intégration de données qui
prend environ 3 secondes en SQL Server 2000 et qui maintenant prend 8 minutes
en 2008. Cette procédure stockée se compose d'un select récupérant les
valeurs min et max d'un champ, d'un select into récupérant des lignes dans
une table et d'un update, inclus dans une transaction, se basant sur la table
temporaire (environ 30000 de lignes) et une autre table (environ 5000000 de
lignes). Les index sont les mêmes sur les deux bases, d'où mon
désappointement.

Je pense que je suis passé à coté de quelque chose durant le paramétrage ou
la restauration de la base.

Si vous avez des idées ou des expériences similaires et que vous avez réussi
à les résoudre, merci de m'en informer.

Cordialement


Bl@ckDr@go
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Med Bouchenafa
Le #20365981
Le plus simple est que tu prennes le code de cette procedure stockée et que
tu l'analyses dans l'Analyseur de requetes

Bien cordialement
Med Bouchenafa

"@go" news:
Bonjour à tous,

Suite à une deuxième tentative de migration d'une base de données d'un SQL
Server 2000 vers SQL Server 2008, je me permet de quérir de l'aide.

Ci dessous les étapes de la migration :
- Backup de la base sql server 2000;
- Restauration sur le sql server 2008;
- Passage en mode compatibilité 2008;
- Recalcul de tous les index (commande dbcc dbreindex);
- Recalcul des statitiques (commande update statistics .. with fullscan);
- Recompilation des procédures stockées;
- Recompilation des fonctions.

Tous ce passe bien jusqu'à ce que je lance mon applicatif. Nous avons
identifié une procédure stockée utilisée lors de l'intégration de données
qui
prend environ 3 secondes en SQL Server 2000 et qui maintenant prend 8
minutes
en 2008. Cette procédure stockée se compose d'un select récupérant les
valeurs min et max d'un champ, d'un select into récupérant des lignes dans
une table et d'un update, inclus dans une transaction, se basant sur la
table
temporaire (environ 30000 de lignes) et une autre table (environ 5000000
de
lignes). Les index sont les mêmes sur les deux bases, d'où mon
désappointement.

Je pense que je suis passé à coté de quelque chose durant le paramétrage
ou
la restauration de la base.

Si vous avez des idées ou des expériences similaires et que vous avez
réussi
à les résoudre, merci de m'en informer.

Cordialement

---
@go


Fred BROUARD
Le #20373721
- Backup de la base sql server 2000;
- Restauration sur le sql server 2008;

ce n'est pas la meilleure façon de faire. Il aurait mieux valu
reconstruire la base a partir de scripts SQL et surtout voire la
compatibilité entre la base tempdb et la base de production en ce qui
concerne la collation. Car en 2000 la collation est latin CI AS alors
qu'en 2008 c'est French CI AS...

A +

@go a écrit :
Bonjour à tous,

Suite à une deuxième tentative de migration d'une base de données d'un SQL
Server 2000 vers SQL Server 2008, je me permet de quérir de l'aide.

Ci dessous les étapes de la migration :
- Backup de la base sql server 2000;
- Restauration sur le sql server 2008;
- Passage en mode compatibilité 2008;
- Recalcul de tous les index (commande dbcc dbreindex);
- Recalcul des statitiques (commande update statistics .. with fullscan);
- Recompilation des procédures stockées;
- Recompilation des fonctions.

Tous ce passe bien jusqu'à ce que je lance mon applicatif. Nous avons
identifié une procédure stockée utilisée lors de l'intégration de données qui
prend environ 3 secondes en SQL Server 2000 et qui maintenant prend 8 minutes
en 2008. Cette procédure stockée se compose d'un select récupérant les
valeurs min et max d'un champ, d'un select into récupérant des lignes dans
une table et d'un update, inclus dans une transaction, se basant sur la table
temporaire (environ 30000 de lignes) et une autre table (environ 5000000 de
lignes). Les index sont les mêmes sur les deux bases, d'où mon
désappointement.

Je pense que je suis passé à coté de quelque chose durant le paramétrage ou
la restauration de la base.

Si vous avez des idées ou des expériences similaires et que vous avez réussi
à les résoudre, merci de m'en informer.

Cordialement

---
@go




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************
Publicité
Poster une réponse
Anonyme