Whenever someone is looking for help with a SQL Server question on one of the public forums, one of the pieces of information that potential responders will want to know is “What edition of SQL Server is the question referring to?” However, I couldn't find a complete definition of "edition" in the official SQL Server documentation. The closest definition I could find was in SQL Server 2008 Books Online under “Editions and Components of SQL Server 2008.” It stated that "The different editions of SQL Server accomodate the unique performance, runtime, and price requirements of organizations and individuals." And yes, the definition included the misspelled word. I guess we can think of an edition as “a subset of the product features, with its own specific pricing and licensing requirements.”

Choosing the appropriate SQL Server edition isn't an easy decision in many cases, and it's not helped by the fact that Microsoft sometimes doesn't make information public regarding which editions will be available for a new SQL Server version until shortly before the product is complete. The decision as to which features will be included in what edition is sometimes delayed even further. I remember when indexed views were introduced in SQL Server 2000. I had seen numerous conference presentations about this wonderful new feature over a period of many months before SQL Server 2000 was released, but Microsoft couldn't tell us which SQL Server 2000 editions would include indexed views. The company finally decided, very shortly before the product's release, that you could create and directly access an indexed view in any SQL Server 2000 edition; however, if you wanted to have the SQL Server Query Optimizer detect that an indexed view was available and choose to use it even if it wasn't directly referenced in your query, you would need to have SQL Server 2000 Enterprise Edition. However, the documentation for SQL Server 2000 didn't come right out and say that; instead, the documentation stated that indexed views were supported only in SQL Server 2000 Enterprise Edition. (The documentation for SQL Server 2005 was much improved in this regard and more clearly described which aspects of indexed view usage were available in each SQL Server 2005 edition.) In SQL Server 2000, we also had the option to use Developer Edition and Evaluation Edition, which had the same feature set as Enterprise Edition, as well as Personal Edition and a component called Microsoft Desktop Engine (MSDE).

Just when you thought you understood SQL Server 2000's editions, you had to relearn everything for SQL Server 2005. With SQL Server 2005, Microsoft removed the Personal Edition and MSDE and provided us with SQL Server 2005 Workgroup and Express Editions. We were told early on that the new table partitioning feature would be available only in SQL Server 2005 Enterprise Edition, and later, other features such as database snapshots and online index creation also ended up being limited to SQL Server 2005 Enterprise Edition. An excellent Webcast about choosing the right edition of SQL Server 2005 didn’t appear until a couple of years after SQL Server 2005 was released. You can find it at http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&EventID=1032334646&CountryCode=US.

And what about SQL Server 2008? What new editions await us there? I have been hearing about something called SQL Server 2008 Web Edition for a while, but I haven't found many details about it. I did find some information about SQL Server 2008 Web Edition at http://mshostingsummit08.spaces.live.com/blog/cns!4308FE7290C0AF4!195.entry, which states that SQL Server 2008 Web Edition enables “hosting companies to provide low cost, highly scalable hosting for developers, SMBs, and consumers, all with a low monthly licensing fee, four CPU support, and no limits on memory and database size for increased scalability.” We’ll have to wait a while longer to get the full details about how SQL Server 2008 Web Edition will be different than SQL Server 2008 Enterprise and Standard Editions and which features won’t be included in it.

As I mentioned above, Developer Edition has the same feature set as Enterprise Edition in SQL Server 2000 and later. This is both good news and bad news. The good news is that for $49, anyone working with SQL Server can have a private installation to do whatever development and testing they need to do with all the available features of the product. The bad news is that if you're a developer for an organization that's running on Standard Edition, there's no way to verify that what you’ve developed using the Developer Edition of SQL Server will work on Standard Edition, without actually getting hold of a Standard Edition SQL Server, and those cost a lot more than $49. I’d like to suggest to Microsoft that it provide a switch in Developer Edition that lets us specify which SQL Server edition we are developing for. If we had that functionality, Developer Edition would truly be useful for all developers.