Accéder au contenu principal

SQL Server : Migration de Base de données de SQL Server 2000

 Ce message rejoins ma série permettant d’optimiser les performances pour un moteur de base de données, mais pour une question spécifique que vous pouvez être amené à rencontrer.

En effet, bien que le moteur relation SQL Server 2000 soit totalement hors support depuis plusieurs années (il a plus de 13 ans maintenant), il existe encore de nombreuses instances actives dans nos réseaux.

Pour mon cas, ce sont les anciennes fermes SharePoint qui possèdent encore ces moteurs, de ce fait, les projets de changement permettent de revoir cela :

  • Migration de ferme
  • Remplacement matériel (car passage en hors support)
  • Passage de physique au virtuel

Tous ces cas, permettent de réfléchir autour de la partie spécifique à SQL Server, voyons comment procéder simplement. Ce message n’est pas destiné au DBA chevronné mais plus aux administrateurs SharePoint qui se retrouvent un peu seul dans ce travail.

Cette phase n’a rien de complexe, mais il convient de voir les étapes simples.


Processus de Backup sur le moteur SQL Server 2000

Il faut sélectionner la sauvegarde dans le menu de l’outil SQL Server 2000 :

image

On choisit “DataBase - Complete” et le chemin pour la sauvegarde

image

Dans les options, il faut sélectionner la vérification du backup en fin, puis on clique sur OK pour lancer la sauvegarde

image

Au bout d’un teps qui dépend de votre solution, la sauvegarde et la vérification du fichier se termine avec succès.


Mise de la base d’origine en Read-Only

Cette étape n’est pas obligatoire, mais permet simplement d’éviter de se retrouver avec la base d’origine modifiée alors que l’on transfere l’0ensemble dans un nouvel environnement.

Pour cela, nous allons dans un premier temps couper toutes les connextions existantes encore sur la base de données, via le menu “Detach Database”

image

On clicke ensuite sur “Clear” pour couper les connexions

image

Après deux alertes que l’on confirme et un temps dépendant de votre solution, Les connexions sont mises à 0, ce qui nous permet d’aller changer le mode. Il faut annuler cet écran pour aller dans les propriétés

image

Pour cela, il faut aller dans les propriétés de la base de données

image

Dans l’onglet “Options”, on trouve une ligne “Read-only” qu’il faut cocher et cliquer sur OK

image

A la fin de ce transfert, l’ensemble des bases sont en mode “Read-Only” :

image


Chargement sur le moteur SQL Server 2008 R2

Le chargement de la base en question est un simple RESTORE, soit sur une base de données existante, soit sur une nouvelle base de données. Il faut donc copier (ou déplacer) le fichier de backup sur le nouveau serveur, puis lancer une restoration via l’outil de gestion “SQL Server Management Studio”), en se connectant sur le serveur SQL Server, puis bouton droit sur “DataBases” (sous le nom du serveur)

image

Il faut ensuite aller chercher le fichier de Backup depuis le menu “From Device”

image

Il faut cocher la ligne de la base à restaurer (dans notre cas, il n’y a qu’une sauvegarde dans ce fichier BAK), puis aller dans les Options de notre restauration, pour fixer les paramètres

image

Dans ces options, il faut cocher la première ligne et contrôler le “Path” des fichiers de la base de données (Fichier de données et fichiers de logs), il arrive que ces valeurs affichées soient celles du serveur d’origine et non celle applicable dans notre nouveau serveur (particulièrement si vous avez séparé les logs de transaction des données). Il est alors possible de cliquer sur OK pour lancer la restauration.

image

Au bout d’un certain temps qui dépend de votre configuration, vous aurez un message de succès vous confirmant que les données sont bien restaurées sur votre nouveau serveur.

image

Cette base est alors maintenant gérée par le nouveau moteur SQL, mais continue à fonctionner avec des options qui ne sont plus du tout adaptées à SQL Server 2008 R2.


Modification des paramètres de la base

Il faut donc aller dans les options de notre base de données, via le menu contextuel sur la base (bouton droit), en choissant “Properties”

image

Accroissement Automatique des fichiers

Il faut tout d’abord cliquer dans les options des fichiers de la base afin de configurer correctement l’accroissement automatique de ceux-ci. Les valeurs par défaut de ces fichiers sont rarement corrects, et il convient de les modifier.

image

Ainsi, la croissance par bloc de 10% de la taille en cours est toujours une mauvaise chose, que vos fichiers soient gros ou petit :

  • 10% de 10 MB = 1 MB : Cela va exploser la fragmentation sur vos disques
  • 10% de 100 GB = 10 GB : Cela peut exploser vos disques

Ainsi, pour une base de quelques GB, je prèfère fixer un accroissement par bloc fixe de 1000 GB, ainsi le temps d’allocation est raisonnable.

image

Attention:
Même si je sais que certains sont partisant de brider les base dans la taille maximale possible, évitez cela, car c’est toujours quand vous ne serez pas disponible que cela se présentera (loi de Pareto oblige).

image

Options

Il faut maintenant aller dans les options de la base de données, car cette partie est définie sur des options de SQL Server 2000 qui sont maintenant obsolètes. Il faut donc changer le mode de compatibilité pour appliquer le mode SQL Server 2008 (et non SQL Server 2000).

image

Attention:
Ce changement doit tout de même être validé avec l’éditeur de la solution utilisant cette base de données. Même si c’est relativement rare, il existe des applications qui utilisent des options ne supportant pas ce changement. IUl est donc possible de conserver le niveau de compatibilité 2000, en cas de besoin spécifique.

Toujours dans cet écran, mais plus bas, se trouve l’option de vérification des “Page” qui est définie "avec une valeur obsolète depuis SQL Server 2000 “TORN_PAGE_DETECTION”. Il faut absolument prendre l’option “CHECKSUM”.

image

On valide ces changements par OK.

Il ne reste plus qu’à modifier les paramètres au niveau de l’application utilisant cette base de données pour valider ce transfert.


Conclusion

SQL Server 2000 a un gros avantage, qui est aujourd’hui une de ses principales faiblesses, sa stabilité. Ainsi, un grand nombre d’organisations ont décidé, consciemment ou non, de conserver les solutions utilisant ce moteur afin de ne pas ajouter de risque dans le fonctionnement de ces applications.

C’est un parti pris qui se défend jusqu’une certaine limite. Plus de 13 ans après sa livraison et 4 ans après la fin de son support, ce temps est arrivé. La migration des serveurs faisant fonctionner ce moteur est, selon moi, à placer dans les urgences.

Romelard Fabrice [MVP]

Commentaires

Posts les plus consultés de ce blog

Série de vidéos sur le montage d'une serre horticole ACD

 Episode 1: Préparation du terrain Episode 2: Montage de la serre en elle même Episode 3: Finalisation avec le montage électrique alimentant la serre Bon visionnage Fab

Présentation des outils utiles pour l'entretien de ses haies vives

Afin de gérer les haies vives, il est nécessaire d'avoir recourt à un matériel adapté. Les solutions à batteries sont bien adaptées pour un usage personnel avec des dimensions raisonnables. Ainsi dans mon cas précis, j'utilise les outils suivants de la Gamme Ryobi 18V ONE+ électroportatif: Petit taille-haies simple mais efficace -  RYOBI OHT1855R Un modèle plus puissant qui fonctionne très bien -  RYOBI RY18HTX60A Pour les parties hautes de vos haies, voici un outil très utile -  RYOBI OPT1845 Enfin lorsque vous devez élaguer certains arbres ou certaines partie hautes de vos haies, ce dernier outil est très utile -  RYOBI OPP1820 Ces outils font parti maintenant de mon arsenal de base pour maintenir notre maison chaque saison de taille. Fab

Série de Videos sur Home Assistant intégrant la production Photovoltaïque

 Un certain nombre de vidéos sont en ligne pour intégrer sa production photovoltaïque dans Home Assistant en partant de la base. Installation de Home Assistant: On peut ensuite intégrer les composant des Micro-Onduleurs Enphase, mais aussi les batteries Enphase: Ou encore le composant de contrôle Ecojoko: Ce qui permet alors de faire des comparaisons entre les valeurs capturées: Des videos seront encore publiés dans les prochaines semaines sur différents aspects de cette solution. Fab