Generar o actualizar una base de datos de informes
Este tema describe cómo generar o actualizar una base de datos de informes que se va a utilizar como una base de datos compartida escalable. Una base de datos de informes puede ser una copia de una base de datos de producción, como se muestra en esta ilustración, o puede contener datos de informes importados de una o más bases de datos de producción. El proceso de generación o actualización de una base de datos de informes se conoce como fase de generación o fase de actualización, en función de si se genera una nueva base de datos de informes o si se actualiza una base de datos obsoleta.
La vida de una base de datos compartida escalable empieza por la generación de una nueva base de datos de informes en un conjunto de volúmenes de informes. Es posible que los datos de informes se hagan demasiado obsoletos como para ser de utilidad; en este caso, la base de datos de informes se conoce como obsoleta. Una base de datos de informes obsoleta se actualiza como parte de cada ciclo de actualización. La actualización de una base de datos de informes obsoleta incluye la actualización de sus datos o la generación de una versión completamente nueva de la base de datos.
Para generar o actualizar una base de datos de informes, puede usar cualquiera de los métodos de copia de datos que proporciona SQL Server para la copia de datos o bases de datos. Para obtener más información, vea "Métodos para generar o actualizar una base de datos de informes", a continuación.
Métodos para generar o actualizar una base de datos de informes
[!NOTA]
Antes de generar o actualizar una base de datos de informes, se debe montar el conjunto de volúmenes de informes en el servidor de producción; cada uno de los volúmenes debe marcarse para acceso de lectura y escritura. Para obtener una descripción de todos los pasos de este proceso, vea "Pasos para generar o actualizar la base de datos", más adelante en este tema.
SQL Server 2005 y las versiones anteriores admiten los siguientes métodos para generar o actualizar una base de datos de informes:
SQL Server Integration Services (SSIS)
Puede crear o copiar una base de datos mediante la ejecución de los paquetes SSIS y el uso de las tareas Ejecutar SQL o Transferir bases de datos.
La tarea Ejecutar SQL ejecuta instrucciones SQL o procedimientos almacenados de un paquete. Al usar la tarea Ejecutar SQL puede crear una base de datos mediante la ejecución de la instrucción CREATE DATABASE y, a continuación, llenar la base de datos a través de la copia de una o más tablas o vistas. Para obtener más información, vea Tarea Ejecutar SQL.
La tarea Transferir bases de datos puede copiar una base de datos dentro de la misma instancia de servidor o entre instancias. Para obtener más información, vea Tarea Transferir bases de datos.
[!NOTA]
También puede crear una base de datos mediante el Asistente para importación y exportación de SQL Server, pero debe copiar al menos una tabla o vista. Para obtener más información, vea Importar o exportar datos con el Asistente para importación y exportación de SQL Server.
Realizar copias de seguridad y restaurar
Puede restaurar una copia de seguridad de una base de datos de producción en el volumen de informes. Esto supone restaurar y recuperar una copia de seguridad completa de la base de datos en el volumen de informes.
Si utiliza la misma letra de unidad, monte el volumen de informes en un host diferente y conéctese a una instancia de servidor para restaurar la base de datos.
Si el volumen de informes utiliza una letra de unidad diferente del volumen de producción, debe agregar una cláusula WITH MOVE a la instrucción RESTORE DATABASE que especifique la letra de la unidad del volumen de informes en el nombre de la ruta de acceso de la base de datos restaurada.
Para obtener información sobre el uso de las copias de seguridad y la restauración para copiar una base de datos, vea Copiar bases de datos con Copia de seguridad y restauración.
Copiar la base de datos de producción
Antes de que pueda copiar manualmente una base de datos o usar el método de separar y adjuntar del Asistente para copiar bases de datos, debe dejar la base de datos sin conexión y, una vez realizada la copia, volver a ponerla en línea. Sin embargo, el Asistente para copiar bases de datos ofrece un método alternativo, el método SMO Transfer, que copia la base de datos mientras permanece en línea. Aunque es más lento que el método de separar y adjuntar, el método SMO Transfer tiene la ventaja de mantener conexiones activas a la base de datos.
Para obtener más información, vea Usar el Asistente para copiar bases de datos.
[!NOTA]
Es recomendable que utilice siempre el mismo nombre de ruta de acceso para las bases de datos de producción e informes cuando genere una base de datos de informes y, si es posible, la misma letra de unidad para el volumen de producción e informes (cuando se monte en los servidores de informes).
Puede resultar beneficioso para optimizar la base de datos de informes para la carga de trabajo de consultas prevista. Estas optimizaciones pueden incluir:
Actualizar o volver a crear las estadísticas de las tablas e índices afectados cuando sea necesario.
Regenerar los índices con un factor FILL de 100.
Poner la base de datos de informes en modo de recuperación simple y realizar un punto de comprobación para truncar el registro de transacciones y ahorrar espacio del registro.
[!NOTA]
Para obtener las directrices acerca de cómo usar una base de datos de informes como base de datos compartida escalable, vea Asegurar un entorno correcto para una base de datos compartida escalable.
Cuando la base de datos esté lista, debe marcar los volúmenes de informes para acceso de sólo lectura y desmontarlos del servidor de producción. Para obtener más información, vea "Pasos para generar o actualizar la base de datos", a continuación.
Pasos para generar o actualizar la base de datos
[!NOTA]
Antes de que pueda actualizar una base de datos de informes, debe desmontar su conjunto de volúmenes de informes del resto de servidores de informes. Para obtener más información, vea Separar una base de datos compartida escalable.
Para generar o actualizar una base de datos de informes, haga lo siguiente en el servidor de producción:
Con las utilidades del distribuidor de hardware, averigüe el número de unidad lógica (LUN) que corresponde a cada volumen de informes para que el servidor de producción pueda obtener acceso al volumen. Si la base de datos utiliza varios volúmenes de informes, siga este paso para cada uno de los volúmenes.
Monte cada volumen de informes y márquelo como acceso de lectura y escritura. El comando DiskPart list volumes, que muestra todos los discos y volúmenes de un equipo puede resultar útil para obtener la información de los volúmenes. Para usar la utilidad DiskPart para montar el volumen, escriba los siguientes comandos en el símbolo del sistema:
DiskPart
DISKPART> seleccionar volumen=<númeroDeUnidad>
DISKPART> asignar letra=<letraDeUnidad>
DISKPART> attribute clear readonly
DISKPART> exit
Donde <númeroDeUnidad> es el número de volumen asignado por el sistema operativo Windows y <letraDeUnidad> 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.
Si está actualizando una base de datos de informes existente:
Adjunte la base de datos a una instancia de servidor (por lo general, sería la instancia de servidor de producción).
Para obtener más información, vea CREATE DATABASE (Transact-SQL) o Cómo adjuntar una base de datos (SQL Server Management Studio).
Establezca la base de datos como acceso de lectura y escritura.
Puede hacer esto mediante la siguiente instrucción Transact-SQL:
ALTER DATABASE <database_name> SET READ_WRITE
Genere o actualice la base de datos.
El administrador genera o actualiza la base de datos mediante alguno de los métodos de generación o actualización de una base de datos de informes. La base de datos de informes puede usar cualquier nombre válido de base de datos. Para obtener más información, vea "Métodos para generar o actualizar una base de datos de informes", anteriormente en este tema.
[!NOTA]
En las bases de datos de informes, es recomendable que PAGE_VERIFY se configure como CHECKSUM, la opción predeterminada. Para obtener más información, vea ALTER DATABASE (Transact-SQL).
Separe la base de datos de la instancia de servidor de producción.
Puede hacer esto mediante la siguiente instrucción Transact-SQL:
sp_detach_db @dbname='<database_name>'
Donde <database_name> es el nombre de la base de datos.
[!NOTA]
De manera predeterminada, sp_detach_db ejecuta UPDATE STATISTICS para volver a muestrear las estadísticas. No obstante, es posible que algunas implementaciones requieran la ejecución separada de UPDATE STATISTICS con la opción FULL SCAN.
Marque cada volumen de informes como acceso de sólo lectura y desmóntelo del servidor de producción.
Para usar la utilidad DiskPart para desmontar el volumen, escriba los siguientes comandos en el símbolo del sistema:
DiskPart
DISKPART> seleccionar volumen=<númeroDeUnidad>
DISKPART> attribute set readonly
DISKPART> remove
Donde <númeroDeUnidad> es el número de volumen asignado por el sistema operativo Windows y <letraDeUnidad> 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.
Importante Los volúmenes de informes deben ser de sólo lectura antes de desmontarlos del servidor de producción.
Ahora, la base de datos de informes puede estar disponible como base de datos compartida escalable. Para obtener más información, vea Adjuntar una base de datos de informes como una base de datos compartida escalable.
Vea también