Mise à jour du schéma des bases des données Exchange 2013

Je vous fais un petit résumé sur ce post Exchange 2013 database schema updates du blog EHLO concernant la mise à jour des bases.

Je trouve ce post intéressant dans le sens où la cmdlet Update-DatabaseSchema m’avait effectivement interpellé.

Mais d’abord, pourquoi faire une mise à jour de schéma de base de données, et qu’est-ce que cela implique?
La mise à jour d’un serveur Mailbox Exchange peut parfois induire des modifications dans la structure des bases de données Exchange, que ce soit pour des améliorations de performances, des correctifs (heureusement c’est un scénario relativement rare) ou pour apporter de nouvelles fonctionnalités. Il est cependant inconcevable aujourd’hui de perdre les mécanismes de haute disponibilité lors d’une phase de mise à jour tel que cela pouvait être le cas dans les versions précédentes, où dès lors qu’une base de données était mise à jour dans une DAG, les nœuds non patchés ne pouvaient plus monter cette base. Cela impliquait un chemin de migration long et compliqué, avec un risque opérationnel parfois critique.

La réponse apportée par l’équipe Exchange est de planifier cette mise à jour de schéma une fois tous les membres du DAG mis à jour. Concrètement, les bases de données disposent de nouveaux attributs, certains sont liés à la base de données physiquement sur le serveur :
– CurrentSchemaVersion
– RequestedSchemaVersion

D’autres aux bases de données en DAG :
– MinimumSupportedDatabaseSchemaVersion
– MaximumSupportedDatabaseSchemaVersion
– RequestedDatabaseSchemaVersion

Concrètement depuis le CU3, lorsque vous mettez à jour un serveur membre d’un DAG, celui-ci lance automatiquement cette cmdlet pour chaque base de données. L’attribut MaximumSupportedDatabaseSchemaVersion n’est mis à jour que lorsque tous les membres du DAG ont été mis à jour, si c’est le cas alors l’attribut RequestedDatabaseSchemaVersion est provisionné pour indiquer qu’une mise à jour de schéma est demandée. Celle-ci ne sera effective qu’après avoir démontée et remontée la base!

Pour rappel, le schéma d’une base de données Exchange 2013 est très différent de celui des versions passées : il existe une table globale des boites aux lettres, puis chaque boite aux lettres disposent de ses propres tables. Lors de la mise à jour du schéma, seul la table globale est mise à jour dans un premier temps. Le schéma des tables des boites aux lettres individuelles n’est mis à jour que lors du prochain accès à celle-ci. On peut obtenir le schéma d’une BAL via la cmdlet Get-MailboxStatistics ‘utilisateur’ | Select CurrentSchemaVersion

Cela semble impliquer qu’il ne sera pas possible d’intégrer dans un DAG un serveur Exchange qui ne disposent pas du CU nécessaire pour supporter la version actuelle des bases de données.
Mise à jour 16/01/2014 : on peut ajouter dans un DAG des serveurs disposant de CU inférieur à celui nécessaire pour le schéma de base de données, mais il sera impossible d’activer la base sur le serveur.

Ces changements semblent importants, mais il faut se rappeler qu’ils ont déjà été testés et approuvés sur O365, le mécanisme aujourd’hui semble donc assez robuste.

Leave a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*
*