2010-02-19 20 views

Respuesta

10

Copie el archivo. Hecho.

Presupuesto de Maintaining Databases:

Dado que SQL Server Compact 3.5 es un sistema de base de datos basada en archivos , puede realizar muchas tareas de bases de datos comunes tales como copias de seguridad, restaurar y eliminación de una base de datos utilizando el archivo API del sistema.

Para hacer una copia de seguridad de una base de datos, cierre todas las conexiones a la base de datos, y luego copie el archivo .sdf. Para restaurar una base de datos , copie el archivo .sdf a su ubicación de trabajo habitual. Estas operaciones funcionan incluso si la base de datos está configurada para la replicación. Para eliminar una base de datos , elimine el archivo de base de datos .sdf .

+1

No programáticamente necesitamos hacer una copia de seguridad como, SqlCeCommand cmd = new SqlCeCommand(); cmd.Connection = conn; cmd.CommandText = @ "BACKUP DATABASE [D: \\ CompactDatabases \\ Northwind.sdf] TO DISK = 'C: \\ Test \\ DB.bak'"; cmd.CommandType = CommandType.Text; int i = cmd.ExecuteNonQuery(); pero está lanzando una excepción de la siguiente manera: Hubo un error al analizar la consulta. [Número de línea de Token = 1, Offset de línea Token = 1, Token en error = BACKUP] Entonces, ¿cómo tomar la copia de seguridad programáticamente? –

+5

programáticamente? Por supuesto. File.Copy ("mydb.sdf", mybackup.sdf "); – ctacke

+4

El mayor problema con la restauración basada en archivos que mencionaste AngryHacker es" cerrar todas las conexiones a la base de datos " Esto puede no ser posible sin tomar el sitio web fuera de línea (suponiendo que sea un sitio web) e incluso entonces el proceso de grupo de aplicaciones puede mantener el archivo abierto. –

2

Escribo la base de datos compacta de SQL en un archivo XML utilizando LINQ to SQL y la vuelvo a leer para restaurarla.

+0

Gracias por su respuesta ¿Cree que podemos restaurar una copia de seguridad tomada de la base de datos de SQL Server en la base de datos SQL Server Compact. –

Cuestiones relacionadas