SQL Server Compact explained

Microsoft SQL Server Compact (SQL CE) is a discontinued relational database produced by Microsoft for applications that run on mobile devices and desktops. Prior to the introduction of the desktop platform, it was known as SQL Server for Windows CE and SQL Server Mobile Edition.

It includes both 32-bit and 64-bit native support. SQL CE targets occasionally connected applications and applications with an embedded database.[1] It is free to download and redistribute.[1] An ODBC driver for SQL CE does not exist, nor is one planned. Native applications may use SQL CE via OLE DB.

The latest, and last, release is the SQL Server Compact 4.0.[2] In February 2013 SQL Server Compact Edition had been deprecated; no new versions or updates are planned, although Microsoft continued to support the product until July 2021.

Overview

SQL Server Compact shares a common API with the other Microsoft SQL Server editions.[3] It also includes ADO.NET providers for data access using ADO.NET APIs, and built-in synchronization capabilities,[1] as well as support for LINQ and Entity Framework. Future releases will unify the synchronization capabilities with Microsoft Synchronization Services.[4] Unlike other editions of Microsoft SQL Server, SQL CE runs in-process[4] with the application which is hosting it. It has a disk footprint of less than 2 MB and a memory footprint of approximately 5 MB.[1] SQL CE is optimized for an architecture where all applications share the same memory pool.[5] Windows Store apps for Windows 8 cannot use SQL Server Compact edition, or any other edition of SQL Server.[6]

Versions!Official Name!Common Name!Release date!Support date
SQL CE 1.02000-10-26[7]
SQL CE 1.12001-03-21[8]
SQL CE 2.02002-09-16[9]
SQL Server 2005 Mobile EditionSQL CE 3.02006-01-14
SQL Server 2005 Compact EditionSQL CE 3.12007-02-19[10]
SQL Server Compact 3.5SQL CE 3.52008-02-19[11]
SQL Server Compact 4.0SQL CE 4.02011-04-13[12]

Support

SQL CE databases can support ACID-compliance, but do not meet the durability requirement by default because AutoFlush buffers changes in memory (including enlisted ambient transactions and explicit SQL CE transactions that do not override the Commit call with an CommitMode.Immediate value). Therefore, committed transaction changes can be lost. To meet the durability requirement the commit call on the transaction must specify the immediate flag.[13] Like Microsoft SQL Server, SQL CE supports transactions, referential integrity constraints, locking as well as multiple connections to the database store.[3] However, nested transactions are not supported, even though parallel transactions (on different tables) are.[14] The current release does not support stored procedures[3] or native XML data type either.[4] It uses a subset of T-SQL[1] for querying and due to lack of XML support, XQuery is not supported either.[4] Queries are processed by an optimizing query processor.[15] SQL CE databases also support indexing, as well as support remote data replication (local caching of data in remote databases) and merge replication (bidirectional synchronization with master databases).[16]

SQL CE databases can be created and managed from Microsoft Visual Studio and some older versions of SQL Server Management Studio as well.[15]

File format

SQL Server Compact
Extension:.sdf
Owner:Microsoft
Genre:Relational database

SQL CE databases reside in a single .sdf file,[17] which can be up to 4 GB in size.[3] The .sdf file can be encrypted with 128-bit encryption for data security.[17] SQL CE runtime mediates concurrent multi-user access to the .sdf file. The .sdf file can simply be copied to the destination system for deployment, or be deployed through ClickOnce. SQL CE runtime has support for DataDirectories.[5] Applications using an SQL CE database need not specify the entire path to an .sdf file in the ADO.NET connection string, rather it can be specified as |DataDirectory|\.sdf, defining the data directory (where the .sdf database file resides) being defined in the assembly manifest for the application.

SQL Server Management Studio 2005 can read and modify CE 3.0 and 3.1 database files (with the latest service pack), but SQL Server Management Studio 2008 (or later) is required to read version 3.5 files. Microsoft Visual Studio Express 2008 SP1 can create, modify, and query CE 3.5 SP1 database files. SQL Server Management Studio cannot read CE 4.0 files. Visual Studio 2010 SP1 can handle CE 4.0 database files.

The .sdf ("Sqlce Database File") naming convention is optional, and any extension can be used.

Setting a password for the database file is optional. The database can be compressed and repaired with the option of the compacted/repaired database to be placed into a new database file.

Deprecation

In February 2013, Microsoft announced that SQL Server Compact Edition had been deprecated.[18]

Although no new versions or updates are planned, Microsoft will continue to support SQL Compact through their standard lifecycle support policy. Extended support for SQL Server Compact 4.0 ended on July 13, 2021.[19]

See also

External links

Notes and References

  1. Web site: SQL Server 2005 Compact Edition Datasheet . 2007-07-03 . https://web.archive.org/web/20070316004210/http://download.microsoft.com/download/7/f/c/7fc20778-4e2e-4944-b432-ed74b404e542/sqlservercompactdatasheet_final.doc . 2007-03-16 . dead .
  2. Web site: Microsoft SQL Server Compact 4.0 is available for download and use with WebMatrix . 13 January 2011 . 2020-03-11.
  3. Web site: A Lap Around SQL Server 2005 Compact Edition . 2005-07-03.
  4. Web site: SQL Server Everywhere: Just Another Database? . 2007-07-03.
  5. Web site: What's New (SQL Server Compact Edition) . 2007-07-03.
  6. Web site: How do i run SQL Server Compact 3.5 on Windows 8 developer preview?. social.msdn.microsoft.com. 11 March 2013.
  7. Web site: 2000-10-26 . Microsoft Launches SQL Server 2000 Windows CE Edition at PASS 2000 . news.microsoft.com . 2022-04-16.
  8. Web site: 2001-03-21 . Microsoft Delivers Support for Embedded Devices With Release of SQL Server 2000 Windows CE Edition Version 1.1 . news.microsoft.com . 2022-04-16.
  9. Web site: 2002-09-16 . Microsoft Delivers Next Stage of .NET Solution For Enterprise Mobile Development . news.microsoft.com . 2022-04-16.
  10. Web site: Microsoft SQL Server 2005 . Lifecycle . . 2021-02-26.
  11. Web site: Microsoft SQL Server Compact 3.5 . Lifecycle . . 2021-02-26.
  12. Web site: Microsoft SQL Server Compact 4.0 . Lifecycle . . 2021-02-26.
  13. Web site: Maintaining Databases (SQL Server Compact Edition). 28 June 2007 .
  14. Web site: Transactions (SQL Server Compact Edition) . 2007-07-03.
  15. Web site: Overview of Databases (SQL Server Compact Edition) . 2007-07-03.
  16. Web site: Overview of Databases (SQL Server Compact Edition) . 2007-07-03.
  17. Web site: Data Storage Architecture with SQL Server 2005 Compact Edition . 2007-07-03.
  18. Web site: Port SQL Compact to Windows RT. Barranis, Patrick. 2013-01-11. Microsoft Connect. 2016-06-25.
  19. Web site: Microsoft SQL Server Compact 4.0 Support Dates. 2020-09-17.