Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News SQL Server Everywhere: the Future of Lightweight Databases

SQL Server Everywhere: the Future of Lightweight Databases

Jet, the database engine behind Access, is an old and venerable technology. Dating back to 1992, it is the lightweight database of choice for countless Visual Basic programmers. After 14 years, its days are finally numbered. 

The first attempt to replace Jet is the Microsoft SQL Server Desktop Engine (MSDE). As a scaled-down version of SQL Server 2000, it was quite effective. Many small businesses that need more power than Jet but don't want to purchase a full copy of SQL Server are quite happy with it.

Unfortunately MSDE doesn't really replace Jet. MSDE, and its successor SQL Server 2005 Express, are still heavy-weight database engines. The download is large, the installation not entirely automated, and in the end you have a Windows service running in the background. Compare this to Jet, which is essentially a set of DLLs that runs in-process.

So what is a developer who wants a light-weight, file-sharing based database to do? The answer is SQL Server Everywhere (SSEv). Like Jet, it is an in-process, file-sharing based engine. Though it lacks the functionality of SQL Server, it is suitable for small end-user applications that run on the desktop.

SSEv isn't really a variant of SQL Server. Rather, it is based on the SQL Mobile codebase. This means it doesn't have a lot of the functionality of a large scale database. Specifically, it doesn't support views, stored procedures, or triggers. Basically all you get is tables and raw SQL. It does however support transactions, multiple users, and row-level locking. Due the major differences between this and the other SQL Server SKUs, William Vaughn questions the logic behind the name.

SSEv also supports indexes and statistics. This, combined with the fact that it is in-process, should result in really good performance for desktop applications. It may very well replace flat files and XML as a storage mechanism for many applications.

Distribution is much easier with this edition. The DLLs are only 1.4 MB, small enough to put on a floppy disk. And because it doesn't run as a service, SQL Server Everywhere is much harder to target with worms like Slammer. A beneficial side-effect of not having stored procedures is that malicious code cannot be hidden in the file. This makes an SSEv data safer than a Word document. For more information on SSEv, check out Steve Lasker's Web Log.

SSEv is currently available as a community tech preview . It cannot be used in production. SSEv has a built-in limitation preventing web servers from accessing it.

Rate this Article