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.