SQL Server Express

The minimum installed footprint for SQL Server 2008 Express is 82.5 MB. If you want the management tools and full text search your size jumps to 546 MB. Compare both of those to the total deployment of VistaDB around 1 MB. You also have to add to the SQL Server install the application of Service Packs (SP1 for 2008 is 262 MB download!).

That size just too big for most desktop or small office database applications. The focus of VistaDB is not to compete with SQL Server Express for full blown server applications. But, we feel VistaDB is an ideal solution when SQL Server Express is being used for an application that can use a serverless environment. Deploying SQL Express for a single user application on a desktop really does not make sense.

For more information about deploying SQL Server Express read the Microsoft document on Embedding SQL Server Express in an Application. We hear stories from companies all the time who have major deployment support issues with embedding SQL Server this way for an application that is either only meant for the desktop, or for a small number of local area network users. SQL Server Express is simply massive overkill in these scenarios.

TSQL Syntax and Datatypes are the same

VistaDB offers many of the advanced features found in the SQL Express, such as TSQL datatypes and syntax, and true referential integrity, so working with both VistaDB and SQL Express is easy. VistaDB features massive storage capacity and supports 4 billion records per table, where as the SQL Express supports 2 billion records per table. VistaDB includes a visual Data Builder utility for creating and managing databases and a Data Migration Wizard for migrating data to VistaDB. We even offer an optional unbranded DBA Sample tool for companies to customize to their application.

VistaDB also offers TSQL stored procedures and user defined functions just like the high end SQL Server versions (SQL CE does not include support for these advanced features).

SQL Express is designed primarily to let developers test their SQL Server applications on desktop machines without requiring to install the full edition of SQL Server. The SQL Express editions also act as an evaluation edition of SQL Server in the hopes that users will eventually upgrade to the higher (paid) versions of SQL Server. SQL Express has limitations on number of concurrent connections and CPU / RAM usage. VistaDB does not have these limitations.

SQL Server Express is a very powerful database since it is essentially a limited edition of SQL Server, but all this power comes at a price in terms of overhead and size. This is often overkill in both features and footprint for building small to midsize desktop database applications.

All of our TSQL Syntax works in SQL Server, we are a subset of the complete language. That means you cannot take everything from SQL Server and use it in VistaDB, but everything from VistaDB will scale up to SQL Server.

SQL Server Express is 80-500 times larger install

SQL Server Express 2008 is 82 MB installed for just the data engine, no tools or management abilities. There are over 200 core files that comprise the installed SQL Server Express, compared to only 1 file that make up the VistaDB core engine.

SQL Server Express requires installation and configuration with elevated rights to the local machine, which makes deployment a complicated process. VistaDB is a Zero config deployment using XCopy or FTP with zero configuration, no registry changes, VistaDB can even run as a guest on Windows with UAC enabled. VistaDB can even be FTP'd to shared ASP.NET hosting (shared web server) without any additional configuration.

We hear from users quite frequently that the new installer for SQL Express 2008 is still way too complex for desktop or embedded database needs. As an example SQL Express 2008 requires elevated permissions during install on the desktop, and forced a reboot twice during setup if the installer needs to touch any components. The install process takes over 25 minutes if no patches are required first.

Compare that to a zero config deployment of VistaDB, no elevated permissions or reboots required, you are done in just seconds!

SQL Server Express stays running even when your application is not, tying up resources on the clients desktop machine. VistaDB runs as a serverless database and shuts down when your application exits. One customer told us about a SQL Express install that would consume over 600MB on his clients machines even after his application was no longer running.

SQL Server Express modifications by third parties

In addition, the primary reason for support calls with SQL Express based applications is a third party application accidentally updating or modifying the schema or instance of the SQL Express installation. This cannot happen with VistaDB because your database lives with your application. If your application is not running, you are using zero resources on the client machine. SQL Express is always resident and using memory even if your application is not loaded.

With a 500+MB footprint for equivilent features, distributing SQL Server Express is not a viable option for developers building .NET applications that get distributed over the Internet. Asking your end users to download SQL Server Express introduces an unnecessary obstacle to potential customers looking to evaluate your software or to existing customers looking to get updates. And after downloading, it still needs to be installed and configured as an administrator on the local machine. Too many needless obstacles which causes people to avoid downloading your software. SQL Server Express also features various licensing restrictions which may not be suitable for distributing commercial embedded applications.

SQL Express is just too big for most desktop database applications

Desktop and small business developers cannot ignore the large size of SQL Express for download, system overhead, and complex deployment requirements. These problems ultimately make it an unsuitable database solution for building small or midsize .NET database applications.

If your application requires SQL Server Express you are telling your users they need to dedicate a box to your application. In some cases this is fine, but in many cases the users don't want, or need, a machine dedicated for a single application.

Hidden cost for deploying SQL Server Express = Support

There is a cost for deploying SQL Server Express to end users - technical support. A customer told us he was spending 4-10 hours per week on deployment issues to new customers with SQL Express 2008. The issues almost always came down to SQL Server Express conflicts with existing software, or the users machine not being up to date with Windows Update. Once this user switched to VistaDB the total support time spent on setup issues went to zero. Think about the price of your tech support people. One weeks savings in technical support costs more than paid for the entire cost of switching his application to VistaDB.

Compare to SQL Compact Edition (SQL CE)

Microsoft has even acknowledged that SQL Server Express is too big and complex for most desktop database applications. For these types of applications Microsoft now recommends SQL Server CE.

But they have placed some limitations on how you can use it that still impact many small line of business applications. See the complete SQL CE comparison page for a more detailed comparison.