SQL Server Compact
» see microsoft.com/sqlserver/compact as it lived, on the wayback machine
~ the eulogy ~
Microsoft shipped this on 26 October 2000 under the name SQL Server 2000 Windows CE Edition, which tells you exactly what it was for. Pocket PCs and handheld scanners and anything else running Windows CE needed somewhere to put data locally, because the network was not there most of the time. So Microsoft took the shape of SQL Server and shrank it until it fit.
It fit remarkably well. Under two megabytes on disk, around five in memory, one file per database with an.sdf extension, a four gigabyte ceiling and 128-bit encryption on the file. There was no server process to install and no service to keep running. It was a library your application carried around with it, free to download and free to redistribute inside whatever you shipped.
The problem this solved has not gone anywhere. I spend my working life now on devices that have to keep functioning when the link drops, which is the same requirement written twenty-five years later with different hardware attached. The answer today is SQLite on every one of those boards, and that is not a coincidence. It is the outcome of the fight this product lost.
~ the dossier ~
| Born | 26 October 2000, as SQL Server 2000 Windows CE Edition |
|---|---|
| Peak | version 4.0 in April 2011, under 2 MB on disk and free to redistribute |
| Killed | 13 July 2021, when extended support for 4.0 ran out |
| Lifespan | twenty years and nine months, the last eight of them deprecated |
| Made by | Microsoft, for devices that were not always connected |
| Killed by | SQLite, which was public domain and already everywhere |
~ what it was for ~
The naming history is its own small tragedy. SQL Server CE for the Windows CE years, then SQL Server Mobile Edition when Microsoft decided mobile was the word, then SQL Server Compact when mobile stopped meaning handhelds and started meaning phones it was losing. Three names for one product, none of which anybody used out loud. Developers said SQL CE for twenty years regardless of what the box said.
Where it actually lived was wider than the name suggested. It came bundled with Visual Studio, which meant a generation of Windows desktop applications used it as the default local store without anyone deciding to. WebMatrix carried it. Windows Mobile and then Windows Phone shipped it. If you installed a small business application in 2009 and found a.sdf file in its program directory afterward, that was this, doing its job silently for a decade.
~ what it became ~
Microsoft deprecated it in February 2013, which in Microsoft terms means no new versions are coming but nothing gets switched off yet. Version 4.0 had landed on 13 April 2011 and it stayed the last one for the remaining decade. Version 3.1 lost support on 12 April 2016 and 3.5 followed on 10 April 2018, and the whole product ended on 13 July 2021 when 4.0's extended support expired.
The replacement story was never clean, and that is part of why the deprecation dragged out for eight years. Microsoft pointed people at SQL Server Express LocalDB, which is a real database engine that starts a real process, so it is not the same category of thing at all. For anyone who actually wanted a file with a query language on top, the honest answer was to go use SQLite, and Microsoft was not going to print that on the migration page.
~ the funny part ~
SQL CE lost to software written largely by one man and given away with no license attached at all. SQLite is in the public domain, ships inside every phone operating system on earth, and has no company behind it that could ever be acquired or reorganized. It won the embedded database category so completely that most developers under thirty have never met an alternative.
Which leaves a strange asterisk on the ending. There are still.sdf files sitting in the install directories of line-of-business applications that companies have no plan to replace, and the engine that reads them was declared finished in 2013 and unsupported in 2021. It works fine. Nothing has broken. That is the specific way old Microsoft software dies, still running perfectly on machines whose owners have not been told the vendor stopped answering the phone.
~ leave a rose ~
an anonymous tribute. one rose per visitor per day.
@}-->-- ... roses left here
~ leave a wreath ~
a rose fades by morning. a wreath stays on this grave for good, with your name on it.
from $1, paid once through stripe. it keeps the graveyard running: the hosting and the nightly digging. adopt it and the headstone reads "maintained in memory by" you. the groundskeeper plants new wreaths at the next tending, usually within a day.
» one email a week: new graves and the anniversaries of the dead. subscribe
other software: Grolier Multimedia Encyclopedia, Wunderlist, Yahoo! Widgets (Konfabulator), Pulse News
also died in the 2020s: Lilium, Wunderlist, OLL.TV
~ leave a note ~
visitors before you have left these graveside notes. anonymous welcome.