Programmation avec le modèle objet de sauvegarde/restauration de SharePoint Foundation

Dernière modification : jeudi 4 novembre 2010

S’applique à : SharePoint Foundation 2010

Dans cet article
Modèle objet de sauvegarde et de restauration
Conseils de programmation
Sauvegardes et restaurations de collections de sites

Cette rubrique décrit l’architecture du modèle objet de sauvegarde et de restauration dans SharePoint Foundation et fournit des conseils sur la façon de le programmer. Votre application de sauvegarde peut être une application indépendante ou une applet de commande PowerShell. Pour plus d’informations sur la création d’applets de commandes pour SharePoint, voir Windows PowerShell dans l’environnement SharePoint Management Shell.

Notes

Il existe un autre modèle objet de sauvegarde et restauration pour les services Web personnalisés qui implémentent l’Infrastructure des applications de service. Ce modèle objet n’est pas abordé dans cette rubrique. Pour plus d’informations, voir Sauvegarde et restauration dans l’infrastructure d’application de service.

Modèle objet de sauvegarde et de restauration

La classe SPBackupRestoreConsole se trouve au niveau supérieur du modèle objet (voir la légende 1 de la figure 1). Elle fournit un gestionnaire général des opérations, responsable de la mise en file d’attente des travaux de sauvegarde et de restauration, du démarrage des travaux et du maintien d’un historique des travaux sous la forme de fichiers .xml. Un objet de cette classe se trouve « juste sous la surface » de l’interface utilisateur d’une application de sauvegarde. Ses membres sont principalement des méthodes et des propriétés statiques qui fournissent des connexions à l’interface utilisateur de l’application de sauvegarde. L’application Administration centrale, PowerShell et l’outil en ligne de commande stsadm.exe utilisent ces connexions.

Un seul objet de cette classe existe dans une batterie de serveurs ; il est créé la première fois que l'un de ses membres est appelé. Il reste en mémoire jusqu'à la prochaine réinitialisation d'Internet Information Server (IIS) ; cependant, son encombrement mémoire est petit.

Figure 1 : principaux objets de la hiérarchie de sauvegarde/restauration.

Classes principales du modèle objet de sauvegarde.

Chaque opération particulière de sauvegarde ou de restauration est représentée par un objet de la classe SPBackupRestoreConsoleObject qui est créé par la méthode CreateBackupRestore(SPBackupRestoreSettings) de l’objet console (voir la légende 2 de la figure 1, les opérations de sauvegarde et de restauration en file d’attente). Les propriétés de l’un de ces objets légers contiennent les informations sur l’opération, comme la nature de celle-ci (sauvegarde ou restauration), l’emplacement des fichiers de sauvegarde, la méthode de sauvegarde ou de restauration, l’étape actuelle de l’opération et l’arborescence des composants de contenu qui est sauvegardée ou restaurée. Chacun de ces objets possède également une propriété Id de type Guid qui sert de descripteur de l’objet, transmissible aux méthodes de SPBackupRestoreConsole. Par exemple, Run(Guid, SPBackupRestoreObject) reçoit l’ID de l’opération (c’est-à-dire l’objet SPBackupRestoreConsoleObject) que la console doit exécuter ensuite. Enfin, chaque objet SPBackupRestoreConsoleObject possède une propriété Settings qui contient un objet persistant contenant un modèle réutilisable de paramètres de sauvegarde ou de restauration. Cet objet identifie également le composant de contenu que l’opération doit sauvegarder ou restaurer. Les objets paramètres sont décrits en détail à la fin de cette section.

Bien que les objets SPBackupRestoreConsoleObject représentent des opérations, les composants de contenu eux-mêmes sont représentés par des objets SPBackupRestoreObject (voir la légende 3 de la figure 1). Ces objets peuvent être imbriqués avec la propriété Children. Par conséquent, chacun d’eux représente une arborescence d’un ou plusieurs composants de contenu. Par exemple, une application Web peut être représentée par un objet SPBackupRestoreObject dont chacune des bases de données de contenu de l’application Web est un objet enfant SPBackupRestoreObject. L'arborescence des composants qui font l’objet d’une opération particulière de sauvegarde ou de restauration sont liés en interne à l’objet SPBackupRestoreConsoleObject qui représente l’opération. Vous pouvez obtenir une référence à l’objet SPBackupRestoreObject au sommet de l’arborescence en passant l’ID de l’objet SPBackupRestoreConsoleObject à la méthode GetRoot(Guid).

Un objet SPBackupRestoreObject est un conteneur pour deux types d'objets critiques :

En plus d’agir comme un conteneur, SPBackupRestoreObject est une classe auxiliaire qui fournit une interaction simplifiée entre les objets opération (SPBackupRestoreConsoleObject) d’une part, et les objets informations sur le composant (SPBackupRestoreInformation, IBackupRestore et IBackupRestoreConfiguration) d’autre part.

Les classes principales finales sont SPBackupSettings et SPRestoreSettings. Un objet de l’un de ces deux types est passé à la méthode CreateBackupRestore(SPBackupRestoreSettings) lorsqu’une opération est créée (voir la légende 5 de la figure 1). Chacun de ces objets contient des paramètres pour les opérations ; plus important encore, ils identifient dans leur propriété IndividualItem le composant de contenu (ou le composant de paramètres de configuration) qui fait l’objet de la sauvegarde ou de la restauration (voir la légende 6 de la figure 1).

Conseils de programmation

Les informations suivantes peuvent être utiles pour le développement de solutions de sauvegarde et de restauration.

Méthodes de personnalisation

La plupart des classes critiques dans le modèle objet de sauvegarde/restauration sont scellées (NotInheritable dans Microsoft Visual Basic). En outre, bien que les classes suivantes ne soient pas scellées, leur dérivation n'est pas prise en charge. Dans chaque cas, vous devez utiliser les classes dérivées existantes :

En conséquence, il existe seulement deux points principaux de personnalisation :

ConseilConseil

Bien qu’il s’agisse des deux principales méthodes de développement avec le modèle objet SharePoint Foundation, vous pouvez également utiliser par programme les captures instantanées de base de données et les restaurations à partir de bases de données non attachées. Pour plus d’informations sur ces sujets, voir Administration par programmation de captures instantanées de base de données, Restauration de données de granularité fine à partir d’une base de données non attachée et Procédure : créer une classe de base de données qui peut être restaurée à partir d’un instantané.

Autorisations

Le code qui sauvegarde le contenu doit s'exécuter dans le contexte utilisateur d'un administrateur de batterie de serveurs. Le code qui restaure doit s'exécuter dans le contexte d'un utilisateur qui est à la fois administrateur de batterie de serveurs et administrateur sur tous les serveurs frontaux. L'utilisateur doit également avoir des autorisations de lecture et d'écriture sur l'emplacement de sauvegarde.

Journalisation des échecs

Si une opération de sauvegarde ou de restauration échoue, les détails concernant l'échec sont enregistrés dans spbackup.log ou sprestore.log sur l'emplacement de sauvegarde.

Sauvegardes et restaurations de collections de sites

À l’exception des types de contenu personnalisés que vous créez en implémentant IBackupRestore, l’objet de contenu le plus petit que vous pouvez sauvegarder et restaurer avec les classes dans l’espace de noms Microsoft.SharePoint.Administration.Backup est une base de données de contenu. Pour sauvegarder ou restaurer des collections de sites individuels par programme, utilisez SPSiteCollection.Backup et SPSiteCollection.Restore. Pour plus d’informations sur la sauvegarde et la restauration des collections de sites, voir Procédure : sauvegarder et restaurer une seule collection de sites par programmation.

Voir aussi

Tâches

Pocédure : sauvegarder du contenu par programme

Procédure : restaurer le contenu par programmation

Procédure : sauvegarder et restaurer une seule collection de sites par programmation

Procédure : créer une classe de contenu qui peut être sauvegardée et restaurée

Procédure : créer une classe de base de données qui peut être restaurée à partir d’un instantané

Exemple de code : création d’une classe de contenu qui peut être sauvegardée

Référence

Microsoft.SharePoint.Administration.Backup

Backup

Restore

Autres ressources

Outil en ligne de commande stsadm.exe