Share via


Programación con el modelo de objetos de copia de seguridad y restauración de SharePoint Foundation

Última modificación: jueves, 04 de noviembre de 2010

Hace referencia a: SharePoint Foundation 2010

En este artículo
El modelo de objetos de copia de seguridad y restauración
Consejo de programación
Copias de seguridad y restauraciones de colecciones de sitios

En este tema se describe la arquitectura del modelo de objetos de copia de seguridad y restauración de SharePoint Foundation y se ofrecen algunos consejos acerca de cómo programar en función de éste. La aplicación de copia de seguridad puede ser una aplicación independiente o un cmdlet de PowerShell personalizado. Para obtener más información acerca de cómo crear cmdlets de PowerShell para SharePoint, vea Windows PowerShell en la Consola de administración de SharePoint.

Nota

Existe un modelo de objetos de copia de seguridad y restauración variante para servicios web personalizados que implementa Service Application Framework, pero no se aborda en este tema. Para obtener más información, vea el tema sobre copia de seguridad y restauración en Service Application Framework.

El modelo de objetos de copia de seguridad y restauración

En la parte superior del modelo de objetos se encuentra la clase SPBackupRestoreConsole. (Vea la llamada 1 de la figura 1). Proporciona un director de operaciones genérico encargado de poner en cola trabajos de copia de seguridad y restauración, de iniciar trabajos y de guardar un historial de trabajos en el formato de archivos .xml. Un objeto de esta clase está "justo bajo la superficie" de la interfaz de usuario de una aplicación de copia de seguridad. Sus miembros son principalmente propiedades y métodos estáticos que proporcionan enlaces para la interfaz de usuario de la aplicación de copia de seguridad. Tanto la aplicación de Administración central como PowerShell y la herramienta de línea de comandos stsadm.exe usan estos enlaces.

En una granja de servidores sólo existe un objeto de esta clase, y se crea la primera vez que se llama a uno de sus miembros. Permanece en la memoria hasta la próxima vez que se restablece Internet Information Server (IIS); sin embargo, su consumo de memoria es pequeño.

Figura 1. Los objetos principales de la jerarquía de copia de seguridad y restauración.

Las clases principales del modelo de objetos de copia de seguridad

Cada operación de copia de seguridad o restauración se representa mediante un objeto de la clase SPBackupRestoreConsoleObject que se ha creado mediante el método CreateBackupRestore(SPBackupRestoreSettings) del objeto de la consola. (Vea la llamada 2 en la figura 1, las operaciones de copia de seguridad y restauración puestas en cola). Las propiedades de uno de estos objetos ligeros contienen información sobre la operación; por ejemplo, si es una copia de seguridad o una restauración, la ubicación de los archivos de la copia de seguridad, el método de copia de seguridad o restauración, la fase actual de la operación y el árbol de componentes de contenido que se está copiando o restaurando. Cada uno de estos objetos tiene una propiedad Id de tipo Guid que sirve de controlador del objeto que se puede pasar a los métodos de SPBackupRestoreConsole. Por ejemplo, se pasa a Run(Guid, SPBackupRestoreObject) el identificador de la operación (es decir, el objeto SPBackupRestoreConsoleObject) que la consola va a ejecutar a continuación. Por último, cada SPBackupRestoreConsoleObject tiene una propiedad Settings que contiene un objeto persistente que contiene un modelo reutilizable de configuración de copia de seguridad o restauración. Este objeto también identifica el componente de contenido que la operación va a copiar o restaurar. Los objetos de configuración se describen con detalle cerca del final de esta sección.

Aunque los objetos SPBackupRestoreConsoleObject representan operaciones, los propios componentes de contenido son representados por objetos SPBackupRestoreObject. (Consulte la llamada 3 en la figura 1). Es posible anidar estos objetos con la propiedad Children. Por lo tanto, cada uno de ellos representa un árbol de uno o más componentes de contenido. Por ejemplo, una aplicación web podría estar representada por un objeto SPBackupRestoreObject que tiene cada una de las bases de datos de contenido de la aplicación web como objeto SPBackupRestoreObject secundario. El árbol de componentes de una copia de seguridad o restauración concreta está vinculado internamente al objeto SPBackupRestoreConsoleObject que representa la operación. Puede obtener una referencia al objeto SPBackupRestoreObject superior del árbol pasando el Id. del objeto SPBackupRestoreConsoleObject al método GetRoot(Guid).

Un objeto SPBackupRestoreObject es un contenedor para dos tipos críticos de objetos:

Además actuar como contenedor, SPBackupRestoreObject es una clase auxiliar que proporciona una interacción más sencilla entre los objetos de operación (SPBackupRestoreConsoleObject) por un lado, y los objetos de información sobre los componentes (SPBackupRestoreInformation, IBackupRestore y IBackupRestoreConfiguration) por otro.

Las clases finales principales son SPBackupSettings y SPRestoreSettings. Cuando se crea una operación, se pasa un objeto de uno de estos dos tipos al método CreateBackupRestore(SPBackupRestoreSettings). (Vea la llamada 5 en la figura 1.) Cada uno de estos objetos contiene configuraciones que se usan en operaciones; lo que es más importante, identifican, en su propiedad IndividualItem, el componente de contenido (o el componente de opciones de configuración) de la operación de copia de seguridad o de restauración. (Vea la llamada 6 en la figura 1.)

Consejo de programación

La siguiente información puede ser útil para programar soluciones de copia de seguridad y restauración.

Formas de personalización

La mayoría de las clases críticas en el modelo de objetos de copia de seguridad y restauración están selladas (NotInheritable en Microsoft Visual Basic). Además, aunque las clases siguientes no están selladas, no es posible hacer derivaciones de ellas. En cada uno de los casos, deberá utilizar las clases derivadas existentes:

Por lo tanto, sólo hay dos puntos principales de personalización:

SugerenciaSugerencia

Si bien estos son los dos modos principales de desarrollar en el modelo de objetos de SharePoint Foundation principal, también puede trabajar mediante programación con instantáneas de base de datos y restauraciones de bases de datos no adjuntas. Para obtener más información acerca de estos temas, vea los temas Administración de programación de instantáneas de base de datos, Restauración de datos específicos de base de datos no adjunta y Procedimiento para crear una clase de base de datos que se puede restaurar desde una instantánea.

Permisos

El código que realiza una copia de seguridad de contenido debe ejecutarse en el contexto de usuario de un administrador de granja de servidores. El código que restaura debe ejecutarse en el contexto de un usuario que es administrador de granja y administrador en todos los servidores front-end. El usuario también debe tener permisos de lectura y escritura en la ubicación de la copia de seguridad.

Registro de errores

Si se produce un error en una operación de copia de seguridad o restauración, los detalles del error se registran en spbackup.log o sprestore.log en la ubicación de la copia de seguridad.

Copias de seguridad y restauraciones de colecciones de sitios

Excepto para tipos de contenido personalizados que cree implementando IBackupRestore, el objeto de contenido más pequeño que puede copiar y restaurar con las clases del espacio de nombres Microsoft.SharePoint.Administration.Backup es una base de datos de contenido. Para realizar una copia de seguridad o una restauración de colecciones individuales de sitios mediante programación, use SPSiteCollection.Backup y SPSiteCollection.Restore. Para obtener más información acerca de la copia de seguridad y restauración de colecciones de sitios, consulte Procedimiento para realizar la copia de seguridad y restaurar una única colección de sitios mediante programación.

Vea también

Tareas

Cómo: Hacer copias de seguridad de contenido mediante programación

Procedimiento para restaurar contenido mediante programación

Procedimiento para realizar la copia de seguridad y restaurar una única colección de sitios mediante programación

Procedimiento para crear una clase de contenido que se pueda restaurar y de la que se pueda hacer una copia de seguridad

Procedimiento para crear una clase de base de datos que se puede restaurar desde una instantánea

Ejemplo de código: Creación de una clase de contenido de la que se pueda realizar una copia de seguridad

Referencia

Microsoft.SharePoint.Administration.Backup

Backup

Restore

Otros recursos

Herramienta de línea de comandos Stsadm.exe