SQL Server Everywhere Gets a New Name

You know you’ve got a successful product when everyone cares about the name.  Since we’ve posted the June CTP, we’ve received feedback that the name was causing some confusion with some partner products.  We care a lot about the partner community and have decided to change the name, again.
And the new name is….
SQL Server Compact Edition
Yup, that’s right, we’ve gone a little retro and have used the original name.  So, why Compact?  Because that’s exactly what it is.  The compact version of the mighty SQL Server family.  I’ve spent a lot of time trying to answer questions about how Express and Everywhere compare.  Calling it Compact Edition worked for several reasons. 

  • It helped identify its role in the SQL Server family.  In order to help clear up the confusion with Express, I’ve written a whitepaper that not only talks about the feature comparison of Express and Compact Edition, but it delves into the differences in a local database programming model.  The paper will be released soon, once we finish the name changes, <g>
  • By leveraging an existing name, it allowed us to quickly turn around the name change and meet our commitment to ship in ’06.  You’d be surprised at how much work goes into naming a product.  In addition to all the legal name issues, we have to localize the product in 20+ languages and release on several mobile platforms.  This all takes time. 
  • In order to maintain backwards compatibility of the source code developers have been writing for years, we never changed the names of the dlls, namespaces or types.  Going back to SQLce meant all the SQLce samples, namespaces, and type names will again be relevant.  By doing a quick search on SQLce, you’ll get years of content available at your fingertips.  Of course, you no longer need to worry about the device limitation.

A couple of Q & A’s

Q  Does SQLCE mean it’s limited to the CE, mobile platform?
 No.  This has caused the most angst about the name.  SQL Server Mobile edition was too limiting as it implied a limitation to mobile scenarios.  We do plan to use SQLce in multiple locations and new environments.  Mobile would have been too limiting.  The trick is to not confuse the fact that we have a CE platform, and use the Compact name as it applies to the SQL Server family

Q Does the new name reflect any changes in supported platforms?
 Yes.  We continue to add to our platforms supported.  Based on your feedback, we’ve added Windows 2000.  SQLce will be an important part of our database strategy to help developers, enterprises, ISV’s and end users manage data wherever they are, whether or not they’re connected to “the network”  As the Microsoft platform reaches further out, SQLce will continue to reach with it.  SQL Server Compact Edition is our default database for local storage.

Q What’s the release date?
 Very, very soon.  We had the RTM bits complete and were ready to launch at our next big developer event.  Because of the name change, we won’t be able to go RTM on that same date as it will take us several weeks to re-localize the runtime, all the docs and update the tooling with the new name.  We will release the current RTM quality bits as a release candidate (RC), and aprox. 5 weeks later release the renamed packages.  All of this fits within the next several weeks. 

What functionality is in the new SQL Server Compact Edition product?
 Since the June CTP, the team has been busy integrating feedback and some minimal feature work including

  • Finished the |DataDirectory| support on all the SqlCeConnection objects. 
  • With the addition of Visual Studio SP1, the DataDirectory macro will automatically be added to your connection string and the ClickOnce bootstrapper will be automatically checked when a SQLce data file is added to your project.
  • With the support of Scott Swigart, the team has done some performance work to deal with the differences in desktop environments.  The team can, and will do more performance work, but they did improve a number of scenarios including new row insert performance. 
    On devices, “disk” space is very expensive.  SQL Mobile only added the minimal amount of partition space when the .sdf file filled up.  That meant that when you’re doing a lot of inserts, the engine was continuing to have to increase disk partitions.  On desktop, we’ve increased the amount of space when the .sdf file filled up.  This work was only applied to the Desktop as we don’t want to degrade device scenarios.  The team is looking to expose this configuration option in the next release.
  • Worked out the quirks of creating a desktop MSI and appropriately GAC the managed components.  The native dlls required some updating as well to properly support GAC’d deployment and private deployment
  • Vista work to support UAC
  • Addition of the ClickOnce bootstrapper and integration into VS
  • A number of bug fixes in the Tooling of SQLce within VS – coming with Visual Studio SP1
  • Support for SQLce within SQL Server Management Studio – coming with SQL Server Management Studio SP2

Why so long, for so little amount of feature work?
 Great question.  With the name change, it was felt the product should have a consistent tooling and runtime experience.  While we did have some work to do within the product, most of the time has been waiting for a consistent tooling experience within Visual Studio.  With VS Sp1 the tooling won’t jump from SQL Server Mobile Edition to SQL Server Everywhere Edition to SQL Server Compact Edition.  Visual Studio has a lot of components and teams delivering, so it took several teams to incorporate the name changes. 

Doing all this tooling work, and supporting new scenarios, we didn’t want to take a great product, SQL Server Mobile, and make it less stable, so we wanted to take the time to make sure we had a great end to end experience.  I won’t say it’s perfect, and we’ll be doing more work in Orcas to round out the tooling and experience to make it easier to use SQLce as the default local database for client applications, but we got a lot done within an interim release and service pack.

Q What can we expect from the next release, and when will it be available?
A The SQLce team has spent most of their time this last year working on the next release.  We already have a 3.5 release mostly done which incorporates several new features including all the OCS work we’ve been doing.  You can see on the screen cast I did earlier at: http://blogs.msdn.com/stevelasker/archive/2006/10/13/occasionally-connected-systems-sync-framework.aspx  The 3.5 release is scheduled to release with the next release of Visual Studio code named Orcas, which is scheduled for the end of ’07, beginning of ‘08

Q Will SQLce be in the .NET Framework
A No.  The current design of the. NET framework is anything that ships in the framework, must only ship in the framework and ship on its schedule.  I say current because we recongnize the deployment and servicing issues of the framework and are working on some exciting new things that will make this mo’ better.  Because SQLce will ship more frequently, and we’re working on some new deployment characteristics of the framework, we’ve taken the painful decision to not ship in the framework.  As an example, if we had shipped in the 2.0 framework for Tablet PCs only, we would not have been able to ship this release to the broader platforms.  Version 3.5 will ship with, or before Orcas.  4.0 will ship at the same time as the next release of SQL Server.  This means SQLce will have shipped 3-4 times in the same time as SQL Server and Visual Studio.  In order to ease deployments, we do support private deployment of the SQLce runtime within each application.  This eases the need to admin deploy the runtime throughout your users.

Q Will Compact Edition Support Side by Side
A Yes.  One of our main goals of SQLce is to make developers productive building client applications that enable end users.  Part of that productivity involves stability of their client apps.  An application that was installed, and working perfectly fine with SQLce 3.1, shouldn’t be forced to upgrade to 5.0 just because they also installed another application that just happened to use 5.0.  We haven’t forgotten dll hell and having MDAC upgrade and break your existing apps. 

That’s all for now.  Enjoy, and keep the feedback coming,