SQL Server Mobile Edition ahora es SQL Server Compact Edition, es una base de datos compacta que se puede implementar en equipos de escritorio, dispositivos inteligentes y Tablet PC, se puede implementar en dispositivos inteligentes ya sea copiando o instalando de forma manual los archivos .cab, o mediante el Service Pack 1 de Microsoft Visual Studio, cuenta con un instalador independiente para equipos de escritorio y Tablet PC.
La compatibilidad de desarrollo, será proporcionada por el SP1 de Visual Studio, y la compatibilidad de administración de bases de datos, por el SP2 de Microsoft SQL Server. Es posible obtener acceso a las bases de datos almacenadas en un dispositivo inteligente o en el equipo de escritorio mediante SQL Server Management Studio de SQL Server o SQL Server Management Studio Express (SSMSE). Las dos características distintivas son compatibilidad con DataDirectory e implementación de ClickOnce. Una base de datos SQL Server Compact, a diferencia de una base de datos SQL Server que se expone como un servicio de Windows, se ejecuta bajo el proceso de la aplicación que la consume. El tamaño máximo del archivo de base de datos es de 4 Gb. y la extensión por defecto es .sdf la cual puede ser modificada. El nombre de la base de datos está limitado a 128 caracteres. En cuanto a limitaciones destacar que el número máximo de tablas por base de datos es de 1024 con un tamaño máximo por registro de 8060 bytes con un tamaño por página de 4 Kb. y 2 Gb. para campos BLOB.
Posee un motor de base de datos así como un procesador y un optimizador de consultas especialmente diseñado para entornos móviles. Soporta un subconjunto de tipos de datos y de sentencias T-SQL de SQL Server y entre las últimas novedades de la versión 3.5 se encuentran:
Consultas jerarquizadas con SELECT FROM
Instrucciones CROSS APPLY y OUTER APPLY
Instrucción CAST y DECIMAL
SET IDENTITY INSERT
Tiene ventajas y desventajas que son muy importantes:
Ventajas:
- Está integrado con el framework de sincronización, Sync Framework for ADO.NET. Lo que permite sincronizar datos entre una base embebida y una base SQL Server de manera casi trivial.
- Tiene mecanismo de replicación nativo.
- Hace validación de tipos y tiene mayor cantidad de tipos de datos que SQLite.
- Se puede usar como IDE Visual Studio 2005/2008 o Management Studio de SQL Server
- Soporta INFORMATION_SCHEMA
Desventajas:
- Cuando se hace una operación de escritura, se bloquea la tabla.
- No soporta operaciones en memoria.
- No es multiplataforma (Solo funciona en Windows)
- No tiene ni triggers ni vistas.
- No soporta User Defined Functions (UDF)
- No soporta RIGHT JOIN