Sidebar

En algunas ocasiones es necesario copiar una base de datos de un servidor a otro con el propósito de llevar a cabo tareas que no afecten a los usuarios del servidor origen, como generar reportes, análisis de datos o ejecución de comandos DBCC. Este documento explica cómo se puede "copiar" una base de datos de un servidor a otro usando los comandos quiesce database y mount database de Adaptive Server Enterprise (ASE).

El comando quiesce database fue introducido en la versión 12.0 de ASE y permite suspender temporalmente las modificaciones a una base de datos; esta "suspensión" temporal da la posibilidad de copiar los dispositivos de datos hacia una nueva ubicación, con utilitarios externos a ASE. En la versión 12.5.1 de ASE se agregó una opción al comando quiesce database que permite generar un "archivo de manifiesto" usado para poder copiar o mover una base de datos de un servidor a otro.

El comando mount database fue introducido en la versión 12.5.1 de ASE y permite "montar" una base de datos y sus dispositivos en un servidor, a partir de un archivo de manifiesto. El archivo de manifiesto contiene una "descripción" de la base de datos y de sus dispositivos.

Para mayor información sobre los comandos quiesce database y mount database consulte la documentación de Adaptive Server Enterprise.

Procedimiento para copiar una base de datos

  1. En el servidor origen, ejecute el comando quiesce database ... hold para suspender temporalmente las modificaciones a la base de datos. Genere además un archivo de manifiesto.

Ejemplo: Este comando suspende las modificaciones a la base de datos reportes_db y genera un archivo de manifiesto que queda ubicado en C:reportes_db.manifest.

quiesce database tag_1
hold reportes_db
for external dump to "C:reportes_db.manifest"
go
  1. Usando algún utilitario externo, copie los dispositivos de datos y el archivo de manifiesto a una ubicación del servidor destino. Note que la copia debe preserver la integridad de los archivos, así que si usted usa algún utilitario como FTP, asegúrese de hacer la copia en modo binario.
Importante: Si los dispositivos que van a ser copiados son compartidos por otras bases de datos, usted también debería suspender dichas bases de datos, antes de llevar a cabo la copia.
  1. Una vez finalizada la copia, active nuevamente la base de datos en el servidor origen, usando el comando quiesce database ... release.

Ejemplo: Este comando reanuda la actividad sobre la base de datos reportes_db:

quiesce database tag_1 release
go
  1. En el servidor destino, verifique el contenido del archivo de manifiesto, usando el comando mount database ... with listonly.

Ejemplo: Este comando verifica que el archivo de manifiesto sea legible y muestra la asociación (en el servidor origen) entre dispositivos físicos y lógicos. Este ejemplo también asume que el archivo de manifiesto quedó ahora ubicado en el Disco D.

mount database all
from "D:reportes_db.manifest"
with listonly
go
'C:sybasedatareportes_db_data.dat' = 'reportes_db_data'
'C:sybasedatareportes_db_log.dat' = 'reportes_db_log'
  1. Una vez verificada la información del paso anterior, proceda a montar la base de datos, usando el comando mount database. Note que se debe incluir la opción using si la nueva ubicación física de los dispositivos difiere de la ubicación original (mostrada en el paso anterior).
Importante: Los dispositivos lógicos no deben existir en el servidor destino.

Ejemplo: Este comando monta la base de datos reportes_db en el servidor destino. Este ejemplo asume que la ubicación física de los dispositivos es ahora D:SybaseData (diferente a la original):

mount database all
from "D:reportes_db.manifest"
using
'D:sybasedatareportes_db_data.dat' = 'reportes_db_data'
'D:sybasedatareportes_db_log.dat' = 'reportes_db_log'
go
  1. Ponga la base de datos en línea usando el comando online database.

Ejemplo:

online database reportes_db
go

Una vez llevados a cabo los pasos anteriores, usted podrá realizar operaciones sobre la copia de la base de datos.

Notas de Uso

  • Este procedimiento requiere como mínimo ASE 12.5.1.
  • Es recomendable que los dos servidores se encuentren en el mismo nivel de versión (ESD o EBF).
  • Este procedimiento sólo se puede llevar a cabo entre plataformas iguales.
Ultima actualización ( Friday, 27 January 2006 )

Tips BD