Compartir a través de


Separar una base de datos compartida escalable

Es posible que los datos de informes estén poco actualizados para ser de utilidad, por lo que la base de datos se considera obsoleta. La actualización de una base de datos compartida escalable implica un ciclo de actualización de tres fases, que comienza con la fase de separación. Básicamente, la fase de separación implica separar una base de datos de informes obsoleta y desmontar los volúmenes de informes de los servidores de informes. Al separarse de una instancia de servidor determinada, la base de datos de informes obsoleta deja de ser una base de datos compartida escalable en dicha instancia de servidor.

Los pasos de la fase de separación

En esta fase, lleve a cabo lo siguiente en cada uno de los servidores de informes:

  1. Tiene la posibilidad de deshabilitar las consultas nuevas en la base de datos para permitir que las consultas actuales se completen correctamente. Para obtener más información, vea "Estrategias para preparar la separación de una base de datos de informes obsoleta" más adelante en este tema.

  2. Separe la base de datos de cada una de las instancias de servidor.

    Puede hacerlo mediante la siguiente instrucción Transact-SQL:

    sp_detach_db @dbname='<database_name>'
    

    donde <database_name> es el nombre de la base de datos.

  3. Desmonte el conjunto de volúmenes de informes en cada uno de los servidores de informes.

    Para desmontar un volumen empleando la utilidad DiskPart, escriba los siguientes comandos en el símbolo del sistema:

    DiskPart

    DISKPART> seleccionar volumen=<númeroDeUnidad>

    DISKPART> remove

    DISKPART> exit

    Donde <drive-letter> es la letra asignada al volumen de informes. Si la base de datos utiliza varios volúmenes de informes, siga este paso para cada uno de los volúmenes.

  4. Enmascare el número de unidad lógica (LUN) correspondiente al volumen de informes para ocultarlo de los servidores de informes. Para ello, utilice las utilidades del proveedor de hardware. Si la base de datos utiliza varios volúmenes de informes, siga este paso para cada uno de los volúmenes.

Nota

La fase de separación es la primera fase de un ciclo de actualización para un conjunto determinado de volúmenes de informes. Sin embargo, puede utilizar dos conjuntos alternativos de volúmenes de informes para las versiones obsoleta y actualizada de una base de datos de informes. Esto le permite superponer las fases de separación y actualización de los dos conjuntos de volúmenes. Para obtener más información, vea Maximizar la disponibilidad de una base de datos compartida escalable.

Estrategias para preparar la separación de una base de datos de informes obsoleta

Cuando se reemplaza la versión obsoleta de una base de datos, es importante tener en cuenta los requisitos de su empresa para el entorno de informes. Debería evaluar cuál de los siguientes requisitos empresariales es más importante: permitir que se completen las consultas que se están ejecutando actualmente o completar la actualización tan pronto como sea posible.

Basándose en qué requisito es más importante, puede decidir cómo administrar la fase de separación en cada uno de los servidores de informes.

  • Permitir que se completen las consultas

    Para preservar todas las consultas en curso, comience la fase de separación deteniendo el flujo de las transacciones a la base de datos, por ejemplo, deteniendo la actividad de E/S. A continuación, en cada instancia de servidor, espere a que se completen todas las consultas actuales. Cuando se ha separado la base de datos de todas las instancias de servidor, puede desmontar el volumen de informes.

  • Actualizar la base de datos tan pronto como sea posible

    Para completar la actualización rápidamente, obtenga acceso exclusivo a la base de datos en cada una de las instancias de servidor finalizando las consultas inmediatamente o después de un número especificado de segundos. Las consultas terminadas pueden reiniciarse después de que se adjunte una versión actualizada de la base de datos.

    Por ejemplo, a fin de dar a las consultas actuales 60 segundos para que se completen antes de terminar las consultas restantes, utilice la siguiente instrucción Transact-SQL:

    USE master;
    ALTER DATABASE AdventureWorks2008R2
    SET SINGLE_USER
    WITH ROLLBACK AFTER 60;
    GO
    

    Ahora puede separar la base de datos de cada una de las instancias de servidor y desmontar los volúmenes de informes de cada uno de los servidores de informes.

Para obtener más información, vea ALTER DATABASE (Transact-SQL).

En este momento, el conjunto desmontado de volúmenes de informes está listo para la fase de generación o actualización de su siguiente ciclo de actualización.

Como alternativa, antes de comenzar la fase de separación en el conjunto montado actualmente de volúmenes de informes, puede actualizar la base de datos en otro conjunto de volúmenes de informes. Para obtener más información, vea Maximizar la disponibilidad de una base de datos compartida escalable.