Administration par programmation de la mise en miroir de base de données et du basculement

Dernière modification : mercredi 13 janvier 2010

S’applique à : SharePoint Foundation 2010

Cette rubrique décrit la prise en charge offerte par le modèle objet Microsoft SharePoint Foundation pour la mise en miroir de base de données et le basculement de Microsoft SQL Server.

Mise en miroir de base de données et basculement automatique

Toute base de données Microsoft SQL Server peut être mise en miroir sur un autre serveur SQL Server. Chaque opération d’écriture et de suppression sur la base de données primaire est dupliquée sur la base de données miroir. De plus, dans le cas d’une défaillance du matériel, du réseau ou d’une autre défaillance sur le serveur principal, le serveur miroir peut immédiatement assurer le rôle de base de données primaire, avec peu ou pas d’interruption du service pour les applications qui le consomment.

Important

La mise en miroir de base de données n’élimine pas la nécessité de sauvegarder les données. En général, si la base de données primaire est endommagée pour une raison autre qu’une défaillance matérielle, la base de données miroir sera endommagée de la même façon.

La prise en charge de SharePoint Foundation pour la mise en miroir de base de données et les serveurs de basculement consiste principalement à spécifier des informations sur le miroir auprès de SharePoint Foundation. La configuration détaillée est entièrement gérée dans Microsoft SQL Server. L’application Administration centrale a une interface utilisateur pour l’identification des serveurs de basculement pour les bases de données de contenu et les bases de données d’application de service telles que la base de données de recherche. Un script de l’interface de ligne de commande Windows PowerShell peut être utilisé pour faire la même chose, et une commande Windows PowerShell est disponible pour spécifier le serveur de basculement pour la base de données de configuration. Si votre solution comprend une base de données que les utilisateurs doivent mettre en miroir, vous pouvez utiliser le modèle objet pour donner à SharePoint Foundation des informations sur le serveur de basculement et pour conserver ces informations dans la base de données de configuration.

Si un serveur témoin a été configuré, il redirige automatiquement les accès à la base de données vers la base de données miroir si la base de données primaire est inaccessible. Même s’il n’y a pas de serveur témoin, SharePoint Foundation prend en charge une bascule rapide vers le miroir. Si, pour une raison quelconque, il n’est pas possible d’accéder à la base de données primaire, SharePoint Foundation essayera de se connecter au miroir. Le miroir doit bien sûr être défini comme étant accessible en lecture dans SQL Server.

Prise en charge de la mise en miroir et du basculement dans le modèle objet

Il existe trois membres de la classe SPDatabase qui prennent en charge la mise en miroir de base de données :

  • La propriété FailoverServer obtient l’objet SPServer qui représente le serveur hébergeant le miroir de la base de données. Vous pouvez définir cette propriété seulement indirectement en appelant AddFailoverServiceInstance(String).

  • La propriété FailoverServiceInstance obtient ou définit l’objet SPDatabaseServiceInstance qui représente l’instance de la base de données hébergeant le miroir de la base de données.

  • La méthode AddFailoverServiceInstance(String) identifie auprès de SharePoint Foundation un serveur et une instance de service de base de données hébergeant le miroir de la base de données. Si le serveur n’a pas déjà été inscrit auprès de la batterie de serveurs, la méthode procède à cette inscription. Le paramètre passé à AddFailoverServiceInstance(String) doit avoir le format « nom_serveur/nom_instance_service_base_de_données » ; par exemple, BackupServer/Microsoft##SSEEMirror.

L’exemple suivant montre comment inscrire une base de données miroir auprès de votre base de données de configuration SharePoint Foundation. La base de données de configuration (cdb) est l’objet SPDatabase.

cdb.AddFailoverServiceInstance("Server2/Microsoft##SSEEMirror");
cdb.Update();
cdb.AddFailoverServiceInstance("Server2/Microsoft##SSEEMirror")
cdb.Update()

Si votre solution fournit aussi une interface utilisateur aux administrateurs de batterie comme alternative à l’application Administration centrale, vous pouvez utiliser le contrôle ContentDatabaseSection. Certaines de ses propriétés permettent aux administrateurs de batterie de définir les valeurs appropriées, en particulier la propriété FailoverDatabaseServer.