2010-01-10 16 views
14

Me gustaría crear una aplicación web con el motor de base de datos H2. Sin embargo, todavía no sé cómo hacer copia de seguridad de los datos, mientras que la base de datos se está ejecutando después de leer este tutorial:¿Cómo realizar una copia de seguridad del motor de base de datos H2 incrustado mientras se está ejecutando?

http://www.h2database.com/html/tutorial.html#upgrade_backup_restore

salida no H2 su archivo almacenado en algún lugar del sistema de archivos? ¿Puedo hacer una copia de seguridad de los archivos generados?

+0

duplicado posible de [¿Cómo en H2DB obtener volcado SQL como en MySQL?] (http://stackoverflow.com/questions/3256694/how-in-h2db-get-sql-dump-like-in-mysql) – Abdull

Respuesta

11

H2 se almacena en el sistema de archivos, pero sería mejor utilizar las herramientas de copia de seguridad a las que hace referencia, ya que el formato de archivo puede cambiar entre las versiones de H2. Si actualiza H2, es posible que ya no pueda leer los archivos que creó en una versión anterior. Además, si copia los archivos que utiliza, le recomiendo cerrar primero la base de datos, de lo contrario los archivos copiados pueden ser ilegibles por H2.

La ubicación del archivo depende de la URL jdbc que especifique. Ver las preguntas frecuentes: http://www.h2database.com/html/faq.html

5

Según el tutorial you linked, no se recomienda hacer copia de seguridad la base de datos copiando los archivos mientras se está ejecutando. Esta es la manera correcta de copia de seguridad de la base de datos mientras se está ejecutando (código Scala, pero se puede convertir fácilmente a Java) (Source):

val connection:java.sql.Connection = ??? // get a database connection 
connection.prepareStatement("BACKUP TO 'myFile.zip'").executeUpdate 
Cuestiones relacionadas