Microsoft SQL Server Compact ( SQL CE ) es una base de datos relacional discontinuada 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 está destinado a aplicaciones conectadas ocasionalmente y aplicaciones con una base de datos incorporada. [2] Se puede descargar y redistribuir de forma gratuita. [2] No existe un controlador ODBC para SQL CE, ni está previsto que exista uno. Las aplicaciones nativas pueden utilizar SQL CE a través de OLE DB .
La última 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 siguió 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 ADO.NET para el acceso a datos mediante las API de ADO.NET y capacidades de sincronización integradas, [2] así como compatibilidad con LINQ y Entity Framework . Las versiones futuras unificarán las capacidades de sincronización con Microsoft Synchronization Services . [ 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 soportar la compatibilidad con ACID , pero no cumplen con el requisito de durabilidad de manera predeterminada porque AutoFlush almacena en búfer los cambios en la memoria (incluidas las transacciones ambientales enlistadas 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 confirmados se pueden perder. Para cumplir con el requisito de durabilidad, la llamada de confirmación en 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 la base de datos. [4] Sin embargo, no se admiten transacciones anidadas , aunque sí se admiten transacciones paralelas (en diferentes tablas). [14] La versión actual tampoco 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 compatibilidad con XML, tampoco se admite XQuery . [5] Las consultas se procesan mediante un procesador de consultas optimizador. [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 de combinación (sincronización bidireccional con bases de datos maestras). [16]
Las bases de datos de 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 un cifrado de 128 bits para la seguridad de los datos. [17] El entorno de ejecución de SQL CE media el acceso simultáneo de varios usuarios al archivo .sdf . El archivo .sdf se puede copiar simplemente al sistema de destino para su implementación o se puede implementar mediante ClickOnce . El entorno de ejecución de SQL CE admite 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 de ensamblaje para la aplicación. [ cita requerida ]
SQL Server Management Studio 2005 puede leer y modificar archivos de base 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 base 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 requerida ]
La convención de nombres .sdf ("Archivo de base de datos SQL") es opcional y se puede utilizar cualquier extensión. [ cita requerida ]
La configuración de 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 colocar la base de datos compactada/reparada en un nuevo archivo de base de datos. [ cita requerida ]
En febrero de 2013, Microsoft anunció que SQL Server Compact Edition había quedado obsoleto. [18]
Aunque no hay nuevas versiones ni actualizaciones previstas, Microsoft seguirá 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]