Bonjour.
je prépare actuellement une migration d'une base de données SQL 2000 vers 2005 de taille importante (129 GO).
il se trouve que je dois modifier la collation de FRENCH_CI_AS en sql 2000 vers FRENCH_CI_AI sur la nouvelle base 2005, aussi, une simple utilisation des assistants de migration n'est PAS envisageable..
j'ai testé une première solution qui fonctionne mais est lente (10h environ pour achever la migration ) :
* re-création de la base avec la bonne collation sans les contraintes ni indexs
* transfert des données par script
* retablissement des contraintes, index et recréation des catalogues de texte intégral.
Cette formule fonctionne bien et les performances sont normales sur la base de données de destination, mais elle suppose un arret production trop important.
J'ai donc testé une seconde méthode :
* restauration de la base dans SQL 2005
* suppression des indexs de texte intégral
* modification de la collation au niveau base et colonnes.
* recréation des catalogues full text.
j'arrive du coup à une durée totale de l'opération de 4 à 5h, ce qui me conviendrait beaucoup mieux.
Mais le problème est alors le suivant :
si j'exécute le code d'une procédure stocké en direct, la requete demande environ 3 secondes pour s'exécuter, ce qui est dans la norme...
si j'exécute le MEME code exactement, mais placé dans une procédure TSQL par un EXEC avec les MEMES parametres, l'exécution demande près de 10 MINUTES !!!!!!!!
il n'y a par contre aucune lenteur spécialement sur les procédures stockées ne faisant pas appel au full text.
Partager