Mantenimiento de RBS (SharePoint Server 2010)

 

Se aplica a: SharePoint Foundation 2010, SharePoint Server 2010

Última modificación del tema: 2016-11-30

En este artículo se describe cómo realizar tareas de mantenimiento asociadas con almacenamiento remoto de blobs (RBS) en Microsoft SharePoint Server 2010.

La mayoría de tareas de mantenimiento asociadas con RBS se llevan a cabo en SharePoint Server 2010 a través del Mantenedor de RBS, que es una herramienta en Microsoft SQL Server. El Mantenedor de RBS realiza una recolección periódica de elementos no utilizados y otras tareas de mantenimiento para una implementación de RBS de SharePoint 2010. Puede programar estas tareas para cada base de datos que use RBS mediante el Programador de tareas de Windows o el Agente de Microsoft SQL Server. El Mantenedor de RBS se debe aprovisionar a través de parámetros de la línea de comandos o a través de un archivo XML. En el caso de las bases de datos reflejadas o replicadas, se puede ejecutar el Mantenedor con una única instancia cualquiera.

En este artículo:

  • Recolección de elementos no utilizados

  • Comprobaciones de coherencia de RBS y almacén de blobs

  • Ejecución del Mantenedor de RBS

Recolección de elementos no utilizados

SharePoint Server 2010 marca automáticamente los datos BLOB sin referencia o eliminados que se van a quitar. SharePoint Server 2010 cuenta las referencias a blobs al analizar la lista de identificadores de blobs almacenados por SharePoint Server 2010 en sus bases de datos de contenido en el momento de quitarse. Se supone que SharePoint Server 2010 eliminó todas aquellas referencias a blobs que están presentes en las tablas de almacén de RBS pero ausentes en la base de datos de contenido, y se marcarán para quitarse. También se supone que SharePoint Server 2010 eliminó los blobs que no están presentes en la base de datos de contenido y que se crearon antes de la ventana de tiempo de limpieza de huérfanos (descrito más adelante en este artículo), y también se marcarán para quitarse.

Debido a que SharePoint Server 2010 tabula referencias a blobs de las columnas de RBS de la base de datos de contenido, todas las columnas de RBS deben tener un índice válido para poder registrarlas en RBS.

La herramienta Mantenedor de RBS de SQL Server quita los elementos que SharePoint Server 2010 marcó para quitar. Debe programar que las tareas de limpieza se ejecuten en horas de poca actividad para reducir el efecto en las operaciones habituales de bases de datos.

La recolección de elementos no utilizados de RBS se realiza en los tres pasos siguientes:

  • Examen de referencia. En el primer paso, se compara el contenido de las tablas de RBS de la base de datos de contenido de SharePoint Server 2010 con las propias tablas internas de RBS y se determina a qué blobs ya no se hace referencia. Los blobs sin referencias se marcan para eliminación.

  • Eliminar propagación. En el siguiente paso, se determina qué blobs se marcaron para eliminación durante un período de tiempo mayor que el valor de garbage_collection_time_window y se eliminan del almacén de blobs.

  • Limpieza de huérfanos. En el último paso, se determina si algún blob está presente en el almacén de blobs pero ausente en las tablas de RBS. A continuación, se eliminan los blobs huérfanos.

Configuración de la recolección de elementos no utilizados de RBS

Puede configurar la recolección de elementos no utilizados al especificar las siguientes opciones de configuración de base de datos y del Mantenedor de RBS:

  • Programación del Mantenedor. Esta opción determina con qué frecuencia se ejecutará el Mantenedor de RBS.

  • Duración de la tarea. Esta configuración determina la duración máxima que puede tener una sola ejecución del Mantenedor de RBS. El valor predeterminado es dos horas.

Debe configurar el Mantenedor de RBS de manera tal que su actividad tenga el mínimo impacto posible en la actividad habitual. Para obtener más información sobre las opciones de configuración de la recolección de elementos no utilizados y cómo configurar las opciones, consulte Ejecutar el Mantenedor de RBS (https://go.microsoft.com/fwlink/?linkid=199638&clcid=0xC0A).

Comprobaciones de coherencia de RBS y almacén de blobs

El Mantenedor de RBS comprueba la integridad de las referencias de los blobs de RBS y corrige los errores que encuentra. Realiza varias comprobaciones de coherencia de la base de datos, como comprobar si existen índices para las columnas de RBS y comprobar si todos los blobs a los que SharePoint Server 2010 hace referencia existen en RBS.

La comprobación de coherencia de tabla auxiliar comprueba que las tablas auxiliares de RBS estén en un estado coherente. Las comprobaciones que realiza son las siguientes:

  • Comprobar que cada columna de tabla de RBS tenga un índice válido.

  • Comprobar que las columnas de tabla de RBS existan, que tengan índices habilitados y válidos, y que tengan el tipo de columna correcto.

Aunque puede deshabilitar las siguientes comprobaciones de coherencia, se recomienda que no las deshabilite porque ayudan a garantizar la coherencia del almacén de RBS. Las siguientes comprobaciones de coherencia están habilitadas de forma predeterminada:

  • Comprobar que todos los blobs a los que SharePoint Server 2010 hace referencia estén presentes en las tablas de RBS.

  • Comprobar que ningún blob esté marcado como en uso y como eliminado.

Se registran los problemas detectados y el Mantenedor de RBS intenta corregirlos mediante la creación de las entradas de índice ausentes, la anulación del registro de las columnas ausentes o el marcado de los blobs en uso como no eliminados.

Ejecución del Mantenedor de RBS

RBS requiere que se defina una cadena de conexión para cada base de datos que use RBS antes de ejecutar el Mantenedor de RBS. Esta cadena se almacena en un archivo de configuración en la carpeta <ruta de instalación>\Microsoft SQL Remote Blob Storage 10.50\Maintainer, que normalmente se crea durante la instalación. El Mantenedor de RBS se puede ejecutar manualmente mediante la ejecución del programa Microsoft.Data.SqlRemoteBlobs.Maintainer.exe junto con los parámetros que aparecen en la siguiente tabla:

Nombre de parámetro Descripción Valores ¿Obligatorio?

ConnectionStringName <nombre de cadena>

El nombre de la cadena de conexión del archivo de configuración.

RBSMaintainerConnection es el nombre predeterminado que se crea durante la configuración de RBS.

Operation <lista de operaciones que desea realizar, separadas por espacios>

Las operaciones de recolección de elementos no utilizados que desea realizar. Este parámetro toma entre uno y cuatro argumentos. El valor ForceFinalize no se puede usar en combinación con ninguna otra operación.

ConsistencyCheck

GarbageCollection

Maintenance

ConsistencyCheckForStores

ForceFinalize

GarbageCollectionPhases <fases>

Las fases de recolección de elementos no utilizados que desea realizar. Este parámetro se usa para ejecutar o completar la recolección de elementos no utilizados. El valor debe constar de una o varias letras sin espacios.

r — Examen de referencia.

d — Eliminar propagación.

o — Limpieza de huérfanos.

Sí, si se realiza la recolección de elementos no utilizados.

ConsistencyCheckMode <c, r o b>

Especifica el tipo de comprobación de coherencia que desea realizar.

c: solo se realizará una comprobación.

r: se realizará una comprobación y se repararán los problemas encontrados.

b: se comprueba, repara y recompilan las estructuras de datos internos.

Sí, si se va a realizar una comprobación de coherencia.

ConsistencyCheckExtent <m o c>

Especifica el alcance de la comprobación de coherencia.

m — Solo se comprobarán los metadatos; los blobs individuales permanecerán sin comprobar. Este es el parámetro predeterminado.

c: se realizará una comprobación completa.

Si no se especifica, se usa m.

ConsistencyCheckForStores <lista de nombres de almacenes de blobs, separados por espacios>

Enumera los nombres de los almacenes de blobs en los que se realizará una comprobación de coherencia.

De manera predeterminada, se comprueban todos los almacenes de blobs.

No

TimeLimit <tiempo en minutos>

Especifica el tiempo disponible para que el Mantenedor de RBS lleve a cabo sus tareas. El argumento debe ser un entero positivo.

No

Debe programar una tarea del Mantenedor de RBS separada para cada base de datos que usa RBS. En los pasos siguientes se describe cómo programar una tarea del Mantenedor de RBS.

Para programar una tarea del Mantenedor de RBS

  1. Compruebe que tiene permisos de escritura para la carpeta donde instaló RBS.

  2. Agregue una cadena de conexión al archivo *<directorio de instalación de RBS>\*Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config para la tarea del Mantenedor de RBS que debe llevarse a cabo. El instalador de RBS crea una cadena de conexión que se denomina RBSMaintainerConnection mediante la información de conexión que se proporcionó durante la instalación. Sin embargo, se deben agregar cadenas de conexión nuevas para cada base de datos adicional.

    Si está usando autenticación de Windows, la cadena de conexión no tiene que estar cifrada. Puede agregar la cadena de conexión no cifrada al ejecutar el siguiente comando:

    aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider
    rename web.config Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config

    Si está usando autenticación de SQL, las cadenas de conexión del Mantenedor de RBS se almacenan en formato cifrado. Por lo tanto, para agregar cadenas de conexión, se deben cifrar las cadenas nuevas o todas las cadenas de conexión se deben descifrar. Las cadenas cifradas se deben agregar de una en una. No obstante, se pueden descifrar todas juntas al mismo tiempo mediante la herramienta %windir%\Microsoft.net\Framework\<versión>\Aspnet_regiis.exe, que se distribuye como parte de Microsoft .NET Framework.

    Ejecute los comandos siguientes para descifrar las cadenas de conexión y almacenar los resultados en un archivo Web.config.

    rename Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config web.config
    aspnet_regiis -pdf connectionStrings

    A continuación, se pueden agregar cadenas en formato descifrado. Además, el archivo se puede cifrar y su nombre se puede cambiar a Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config mediante los comandos siguientes:

    aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider
    rename web.config Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config

  3. Cree una tarea del programador de Windows para ejecutar la tarea del Mantenedor de RBS para cada base de datos que corresponda. Si el instalador de RBS se ejecutó en modo de interfaz gráfica de usuario, creó automáticamente una tarea del programador de Windows. Sin embargo, si se ejecutó en modo de línea de comandos, deben realizarse los siguientes pasos cada vez que se programe una nueva tarea para ejecutar el Mantenedor de RBS:

    1. En el menú Inicio, haga clic en Herramientas administrativas y, a continuación, haga clic en Programador de tareas.

    2. En el menú Acción, haga clic en Crear tarea.

    3. En la ficha Acciones, haga clic en Nueva.

    4. En el cuadro de diálogo Nueva acción, en la lista desplegable Acción, seleccione Iniciar un programa.

    5. En Configuración, en el cuadro Programa o script, busque el archivo binario del Mantenedor <directorio de instalación de RBS>\Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe y, en el cuadro de texto Agregar argumentos (opcional), agregue los argumentos opcionales. El instalador crea los siguientes valores predeterminados:
      <-ConnectionStringName RBSMaintainerConnection>
      <-Operation GarbageCollection ConsistencyCheck ConsistencyCheckForStores>
      <-GarbageCollectionPhases rdo>
      <-ConsistencyCheckMode r>
      <-TimeLimit 120>

    6. Haga clic en Aceptar.

    7. En la ficha Desencadenadores, haga clic en Nuevo.

    8. En el cuadro de diálogo Nuevo desencadenador, programe la tarea y haga clic en Aceptar. Se recomienda programar la tarea para que se ejecute durante los períodos de poca actividad del sistema.

    9. En la ficha General, en Seguridad, asegúrese de que la cuenta de usuario tiene los permisos correctos para ejecutar la tarea. Puede cambiar los permisos al hacer clic en Cambiar usuario o grupo.

    10. En la ficha General, haga clic en Ejecutar tanto si un usuario inició sesión como si no y, a continuación, haga clic en Aceptar.

See Also

Concepts

Información general de RBS (SharePoint Server 2010)
Planeación de RBS (SharePoint Server 2010)
Instalación y configuración de RBS (SharePoint Server 2010)
Instalación y configuración del almacenamiento remoto de blobs (RBS) sin el proveedor de FILESTREAM (SharePoint Server 2010)
Establecimiento de una base de datos de contenido para usar el almacenamiento remoto de BLOBS (RBS) (SharePoint Server 2010)
Migración del contenido en o fuera del almacenamiento remoto de blobs (RBS) (SharePoint Server 2010)
Deshabilitación del almacenamiento remoto de blobs (RBS) en una base de datos de contenido (SharePoint Server 2010)

Other Resources

Bases de datos de SQL Server y SharePoint Server 2010 (https://go.microsoft.com/fwlink/?linkid=199866&clcid=0xC0A)