Esto no es una consulta. Es un resumen de nuestra solución para evitar el problema de la corrupción en los archivos de bases de datos SQL Compact con éxito (casi) definitivo. SQLCE La corrupción es un problema muy común. Hemos recibido una gran ayuda de publicaciones anteriores en StackOverflow, y de ahí esta publicación.Resolver daños en archivos de base de datos de SQL Server Compact Edition
Nuestro producto es una arquitectura de 3 capas con el servidor ejecutándose como un Servicio de Windows conectado a Clientes Ricos mediante .Net Remoting. Nuestro producto usa SQLCE desde 2006. Hemos pasado de v3.1 a v3.5 y ahora v4.0. Tenemos una herramienta personalizada de OR-Mapping para algunos requisitos muy específicos. Nos enfrentamos a problemas limitados con v3.1, nos hemos enfrentado más con v3.5 y v4.0.
Inicialmente con v3.5, implementamos SqlCeEngine.Repair
. Pero solo elimina los datos dañados e intenta recrear una base de datos estable. Descubrimos que las claves externas de las tablas afectadas desaparecieron. Tuvimos que acabar con esto de inmediato. Comenzamos a notificar a los usuarios acerca de la corrupción de db y restaurar la última copia de seguridad. Esto solo proporcionó un alivio temporal; el problema de la corrupción aún estaba en pie.
Este año, adoptamos v4.0. Sin embargo, nuestra aplicación también introdujo varias características nuevas que aumentaron tremendamente la cantidad de llamadas a la base de datos. v4.0 comenzó bien, pero comenzó a dar problemas cuando aumentó el uso del software. Las corrupciones que ocurrieron mientras se ejecutaba la aplicación no se debieron a fallas de Windows, interrupciones anormales o problemas de disco. La base de datos acaba de corromper.
El siguiente post cubre la solución que hemos ideado para este problema:
¿Puede describir el problema con más detalle, luego, mueva la solución a una respuesta? Gracias. –