Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Blog Technique de Romelard Fabrice

Les dernières Actualités de Romelard Fabrice (Alias fabrice69 ou F___) principalement autour des technologies Microsoft

Actualités

  • Toutes les actualités et informations sur les technologies Microsoft principalement autour de .NET et SQL Server

Archives

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

sql_server_2008_r2

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]

Technorati Tags: ,,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mercredi 13 mars 2013 19:53 par ROMELARD Fabrice

Commentaires

JeremyJeanson a dit :

Quelle générosité Fabrice dans ta phrase :

"La migration des serveurs faisant fonctionner ce moteur est, selon moi, à placer dans les urgences."

C'est étrange, en la lisant, mon cerveau l'a comprise à un temps passé.

"La migration des serveurs faisant fonctionner ce moteur était, selon moi, à placer dans les urgences."

# mars 14, 2013 11:41

ROMELARD Fabrice a dit :

Exactement, on peut aussi se souvenir que c'était déjà une urgence

Mais comme toujours, les urgences sont une pile et celle qui est en dessous a peu de chance de ressortir :)

Une bonne piqure de rappel ne fait pas de mal :)

Fabrice

# mars 14, 2013 15:17
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01