Microsoft SQL Server Compact ( SQL CE ) es una base de datos relacional descontinuada producida por Microsoft para aplicaciones que se ejecutan en dispositivos móviles y computadoras de escritorio. Antes de la introducción de la plataforma de escritorio, se conocía como SQL Server para Windows CE y SQL Server Mobile Edition .
Incluye soporte nativo de 32 y 64 bits. [1] SQL CE apunta a aplicaciones ocasionalmente conectadas y aplicaciones con una base de datos integrada. [2] Se puede descargar y redistribuir de forma gratuita. [2] No existe ni está previsto disponer de un controlador ODBC para SQL CE. Las aplicaciones nativas pueden utilizar SQL CE a través de OLE DB .
La última y más reciente versión es SQL Server Compact 4.0. [1] En febrero de 2013, SQL Server Compact Edition quedó obsoleto; no se planean nuevas versiones ni actualizaciones, aunque Microsoft continuó brindando soporte al producto hasta julio de 2021. [3]
SQL Server Compact comparte una API común con las otras ediciones de Microsoft SQL Server . [4] También incluye proveedores de ADO.NET para el acceso a datos mediante las API de ADO.NET y capacidades de sincronización integradas, [2] así como soporte para LINQ y Entity Framework . Las versiones futuras unificarán las capacidades de sincronización con los Servicios de sincronización de Microsoft . [ necesita actualización ] [5] A diferencia de otras ediciones de Microsoft SQL Server , SQL CE se ejecuta en proceso [5] con la aplicación que lo aloja. Tiene una huella de disco de menos de 2 MB y una huella de memoria de aproximadamente 5 MB. [2] SQL CE está optimizado para una arquitectura donde todas las aplicaciones comparten el mismo grupo de memoria. [6] Las aplicaciones de la Tienda Windows para Windows 8 no pueden usar la edición SQL Server Compact ni ninguna otra edición de SQL Server. [7]
Las bases de datos SQL CE pueden admitir la compatibilidad con ACID , pero no cumplen con el requisito de durabilidad de forma predeterminada porque AutoFlush amortigua los cambios en la memoria (incluidas las transacciones ambientales registradas y las transacciones SQL CE explícitas que no anulan la llamada Commit() con un valor CommitMode.Immediate) . Por lo tanto, los cambios de transacción comprometidos se pueden perder. Para cumplir con el requisito de durabilidad, la llamada de confirmación de la transacción debe especificar el indicador inmediato. [13] Al igual que Microsoft SQL Server , SQL CE admite transacciones, restricciones de integridad referencial, bloqueo y múltiples conexiones al almacén de bases de datos. [4] Sin embargo, las transacciones anidadas no son compatibles, aunque sí lo son las transacciones paralelas (en tablas diferentes). [14] La versión actual no admite procedimientos almacenados [4] ni tipos de datos XML nativos . [5] Utiliza un subconjunto de T-SQL [2] para realizar consultas y, debido a la falta de soporte XML, XQuery tampoco es compatible. [5] Las consultas son procesadas por un procesador de consultas de optimización. [15] Las bases de datos SQL CE también admiten la indexación, así como la replicación remota de datos (almacenamiento en caché local de datos en bases de datos remotas) y la replicación combinada (sincronización bidireccional con bases de datos maestras). [16]
Las bases de datos SQL CE se pueden crear y administrar desde Microsoft Visual Studio y también desde algunas versiones anteriores de SQL Server Management Studio . [15]
Las bases de datos SQL CE residen en un único archivo .sdf , [17] que puede tener un tamaño de hasta 4 GB . [4] El archivo .sdf se puede cifrar con cifrado de 128 bits para la seguridad de los datos. [17] El tiempo de ejecución de SQL CE media el acceso multiusuario simultáneo al archivo .sdf . El archivo .sdf puede simplemente copiarse en el sistema de destino para su implementación o implementarse a través de ClickOnce . El tiempo de ejecución de SQL CE es compatible con DataDirectories . [6] Las aplicaciones que utilizan una base de datos SQL CE no necesitan especificar la ruta completa a un archivo .sdf en la cadena de conexión ADO.NET , sino que se puede especificar como |DataDirectory|\<database_name>.sdf , definiendo el directorio de datos (donde reside el archivo de base de datos .sdf ) que se define en el manifiesto del ensamblado de la aplicación. [ cita necesaria ]
SQL Server Management Studio 2005 puede leer y modificar archivos de bases de datos CE 3.0 y 3.1 (con el último service pack), pero se requiere SQL Server Management Studio 2008 (o posterior) para leer archivos de la versión 3.5. Microsoft Visual Studio Express 2008 SP1 puede crear, modificar y consultar archivos de bases de datos CE 3.5 SP1. SQL Server Management Studio no puede leer archivos CE 4.0. Visual Studio 2010 SP1 puede manejar archivos de base de datos CE 4.0. [ cita necesaria ]
La convención de nomenclatura .sdf ("Archivo de base de datos Sqlce") es opcional y se puede utilizar cualquier extensión. [ cita necesaria ]
Establecer una contraseña para el archivo de base de datos es opcional. La base de datos se puede comprimir y reparar con la opción de que la base de datos compactada/reparada se coloque en un nuevo archivo de base de datos. [ cita necesaria ]
En febrero de 2013, Microsoft anunció que SQL Server Compact Edition había quedado obsoleto. [18]
Aunque no se planean nuevas versiones o actualizaciones, Microsoft continuará brindando soporte a SQL Compact a través de su política de soporte de ciclo de vida estándar. El soporte extendido para SQL Server Compact 4.0 finalizó el 13 de julio de 2021. [19]