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
fuente
Respuestas:
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 -x
modificadores y -o para especificar un archivo de registro. Entonces el comando termina algo como:fuente