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

Redonner vie à une Microsoft Surface RT : le guide ultime vers Linux !

Vous avez une vieille Microsoft Surface RT qui traîne dans un tiroir ? Vous savez, cette tablette de 2012 devenue inutilisable depuis l'abandon officiel de Windows RT par Microsoft ? Ne la jetez surtout pas ! Dans ma dernière vidéo, je vous montre comment transformer cet appareil, autrefois considéré comme un "presse-papier", en une tablette Linux moderne et parfaitement fonctionnelle . Pourquoi ce projet ? L'objectif est simple : transformer ce matériel pour en faire un dashboard dédié à mon système Home Assistant. En installant postmarketOS , une version de Linux spécialement conçue pour les appareils ARM abandonnés, on redonne une seconde jeunesse à cette machine . Ce que vous allez apprendre dans ce tutoriel complet : La libération du matériel : Comment réinstaller la version d'origine pour passer outre les blocages de Windows 8.1 . Jailbreak & Secure Boot : La procédure indispensable pour déverrouiller la machine et permettre l'installation d...

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

Mixer les batteries Enphase et Zendure : La solution ultime pour l'autoconsommation ?

Introduction Vous avez déjà une installation solaire équipée de micro-onduleurs Enphase , mais vous trouvez que le stockage officiel de la marque est trop coûteux ou difficile à installer en DIY ? Vous n'êtes pas seul. Aujourd'hui, je vous partage mon retour d'expérience complet sur une configuration qui intrigue beaucoup de monde : le couplage d'un système Zendure SolarFlow avec un environnement Enphase existant. Pourquoi vouloir mixer ces deux marques ? Le système Enphase est une référence en termes de fiabilité, mais l'ajout de batteries IQ Battery peut représenter un investissement lourd. À l'inverse, Zendure propose avec le SolarFlow une solution de stockage plug-and-play extrêmement flexible et souvent plus abordable. L'idée est simple : utiliser le SolarFlow comme "tampon" entre vos panneaux et vos micro-onduleurs pour stocker l'excédent de la journée et le réinjecter la nuit. Le montage : Est-ce vraiment compliqué ? Dans ma dernière ...