SQL Anywhere 11: restauración de la falla de copia de seguridad incremental


16

Queremos crear copias de seguridad incrementales remotas después de una copia de seguridad completa. Esto nos permitirá restaurar en caso de falla y mostrar otra máquina con copias de seguridad en tiempo real tan cercanas como sea posible con los servidores de red de SQL Anywhere.

Estamos haciendo una copia de seguridad completa de la siguiente manera:

dbbackup -y -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)"
    c:\backuppath\full

Esto hace una copia de seguridad de la base de datos y los archivos de registro y se puede restaurar como se esperaba. Para las copias de seguridad incrementales, he probado los registros de transacciones en vivo e incrementales con un esquema de cambio de nombre si hay varias copias de seguridad incrementales:

dbbackup -y -t -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)"
    c:\backuppath\inc

dbbackup -y -l -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)" 
    c:\backuppath\live

Sin embargo, al aplicar los registros de transacciones en la restauración, siempre recibo un error al aplicar los registros de transacciones a la base de datos:

10092: no se puede encontrar la definición de tabla para la tabla a la que se hace referencia en el registro de transacciones

El comando de restauración del registro de transacciones es:

dbeng11 "c:\dbpath\dbname.db" -a "c:\backuppath\dbname.log"

El error no especifica qué tabla no puede encontrar, pero esta es una prueba controlada y no se están creando o descartando tablas. Inserto algunas filas y luego inicio una copia de seguridad incremental antes de intentar restaurar.

¿Alguien sabe la forma correcta de hacer copias de seguridad incrementales y restaurar en SQL Anywhere 11?

ACTUALIZACIÓN: Pensando que puede estar relacionado con la complejidad de la base de datos de destino, hice una nueva base de datos en blanco y un servicio de red. Luego agregó una tabla con dos columnas e insertó algunas filas. Realicé una copia de seguridad completa, luego inserté y eliminé algunas filas más y transacciones confirmadas, luego realicé una copia de seguridad incremental. Esto también falló con el mismo error al intentar aplicar las copias de seguridad incrementales de los registros de transacciones después de restaurar la copia de seguridad completa ...

Editar:

Puede seguir este enlace para ver la misma pregunta con un poco más de comentarios sobre SA: http://sqlanywhere-forum.sybase.com/questions/4760/restoring-incrementallive-backup-failure


Es posible que desee consultar sqlanywhere-forum.sybase com, un sitio de preguntas y respuestas específicamente para SQL Anywhere.
Graeme Perrow

Gracias y wow, ese sitio parece increíblemente familiar ... está tan afiliado a pesar de que está bajo un dominio de Sybase o ¿crees que les importaría demasiado?

Respuestas:


2

Resumiendo la información vinculada a la publicación anterior ...

El comando que ha utilizado es para una copia de seguridad en vivo, pero lo que desea es una copia de seguridad incremental. El enfoque que desea utilizar (según este blog ) utiliza interruptores algo diferentes. Desea usar los -n -t -xmodificadores y -o para especificar un archivo de registro. Entonces el comando termina algo como:

dbbackup -n -t -x -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)" -o "c:\backup\backup_log.txt"
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.