Sometimes, buying software is simple. If you want a copy of a simple HTML editor, for example, you just go to the vendor's Web site, find out how much it costs, fill out the online order form with your credit card number, and download your copy. But as you start dealing with more complex programs this simple model breaks down. By the time you get to an enterprise application such as Microsoft SQL Server, the story is immensely complicated. But if you're responsible for buying SQL Server, it's important to understand the various options involved. Choosing the wrong edition, or the wrong licensing scheme, could cost you thousands of dollars that you didn't have to spend.
How Many Editions Can You Name?
Let's start with a relatively simple question: how many different editions of SQL Server 2000 do you think there are to choose from? If you said three, or four, or even five, guess again: there are actually eight! Fortunately, if you're planning for a server installation that will be used in a production application by multiple clients, there are only three editions that you need to consider:
- SQL Server 2000 Enterprise Edition is the top of the heap. It supports up to 32 CPUs and 64GB of RAM (more on 64-bit systems) and includes features such as log shipping and OLAP partitions that are not available in other editions. It is also, naturally, the most expensive.
- SQL Server 2000 Standard Edition supports up to 4 CPUs and 2GB of RAM. It includes Analysis Services, Full-Text Search, and the full suite of graphical administration tools.
- SQL Server 2000 Workgroup Edition is the new kid on the block, just released in 2005. It supports up to 2 CPUs and 2GB of RAM, and doesn't include OLAP features.
To judge which edition you need, you'll have to think about both features and capacity. First, have a look at the full list of Features by Edition to see which editions are suitable for your applications. If you need Analysis Services, for example, Workgroup Edition is out. Similarly, if distributed partitioned views are in your plans, only Enterprise Edition will do. From there, you want to buy the least-expensive edition that will do the job. This can be a bit tricky to figure out, because the only SQL Server evaluation software is Enterprise Edition. If you're embarking on a large database project, you should pick up a MSDN subscription, at the Professional level or up, which gives you copies of all three editions for development and testing purposes.
Oh, and those other five editions? Just in case it comes up at your next trivia game, they are:
- SQL Server 2000 Personal Edition, a single-user version that's included with SQL Server 2000 Standard or Enterprise edition and designed for mobile users who need to use data when they're disconnected from the network.
- SQL Server 2000 Evaluation Edition, which is Enterprise Edition time-bombed to stop working 120 days after it's installed. You can order this on CD or download it for free from the Microsoft Web site.
- SQL Server 2000 Windows CE Edition, a database that runs on the Pocket PC platform.
- SQL Server 2000 Developer Edition, which has all the functionality of Enterprise Edition but is licensed for development only. If you're a software developer, this is the edition you want to use to build products for your customers. You get it as part of your MSDN subscription, or with the higher-level versions of Visual Studio .NET.
- SQL Server 2000 Desktop Edition, the successor to MSDE as a redistributable, embedded version of SQL Server.
Of Processors and CALs
But wait! You're not done yet. After choosing your edition, you need to decide which of three different licensing schemes you want to use for it:
- Processor License: This is the simplest option. It is also the most expensive. You pay a flat rate for each CPU running SQL Server, and that's it.
- Server plus device CALs: CAL stands for Client Access License. Under this scheme, you pay one price for the computer running SQL Server (no matter how many CPUs it has) and a separate price for each device that accesses the data.
- Server plus user CALs: Almost the same, but in this case you pay for the server plus you purchase a CAL for each user that accesses the data.
Bearing in mind that no one ever pays retail (discount pricing is available through a variety of volume license plans and resellers), the retail pricing can give you a good idea of the relative cost of these various options. Per-processor licenses list at $19,999 for Enterprise, $4,999 for Standard, and $3,899 for Workgroup. When you move to a CAL model, it doesn't matter whether you're buying device or user CALs. Enterprise server plus 25 CALs is $11,099; Standard with 10 CALs is $2,249 and Workgroup with 10 CALs is $1,478. Standard and Enterprise CALs are interchangeable, but Workgroup CALs can only be used with Workgroup edition servers.
Whether it's cheaper to go with processor licensing or CALs depends on how many users your application will have. If you're using SQL Server to back a Web application, you probably don't have any choice: unless you want to buy a CAL for every user or computer that hits your Web site, you need to purchase processor licenses. On the other hand, for internal applications you may be better off with CALs if there are a limited number of devices or users that will access the SQL Server. Choose device CALs if you have multiple users sharing computers, or user CALs if you have users who roam among multiple computers. Also, bear in mind that at a certain point it's cheaper to just buy processor licenses. For example, if you're running SQL Server 2000 Standard Edition on a single CPU, the cut-over point is 24 users or devices; if you have more than that, it's cheaper to buy a processor license than to buy CALs. For SQL Server 2000 Enterprise Edition on 4 CPUs, the cut-over point is 435 users or devices.
The fact that you can install multiple instances of SQL Server on the same computer complicates things a bit. If you opt for the processor licensing model, then one license fee covers as many instances as you want to install. If you opt for the server plus CALs model, then one price covers multiple instances only if you've purchased SQL Server 2000 Enterprise Edition. If you're running Standard or Workgroup Edition under the Server/CAL model, you need a separate license for each instance.
It's All Going to Change
Well, not all. But some time before the end of the year, SQL Server 2005 will ship, and this will have an impact on both the product lineup and its pricing. First, SQL Server 2000 Desktop Edition is being retired. In its place, we get SQL Server 2005 Express Edition. Express Edition will still be free, embeddable, and redistributable. But unlike Desktop Edition, it will include a graphical management tool, as well as some other goodies like a report wizard and controls, plus support for new technologies including SQL Service Broker and the Common Language Runtime. All in all, Express Edition should significantly raise the bar for the use of SQL Server is low-cost applications (and may be the death knell for the venerable Jet engine).
Of course, the pricing is being changed for 2005 - which is a polite way of saying that it's going up. For SQL Server 2005, per-processor licenses list at $24,999 for Enterprise, $5,999 for Standard, and $3,899 for Workgroup (at least Workgroup isn't going up). Enterprise server plus 25 CALs will be $13,499; Standard with 10 CALs is $2,799 and Workgroup with 10 CALs is $1,478. Of course, you can expect to see upgrade pricing that is much lower than this if you've got existing SQL Server 2000 licenses.
The Devil is in the Details
Even though I've covered quite a bit of ground in this article, there are plenty of other nuances to SQL Server licensing. For example, if you're running a commercial Web hosting service there are special pricing plans just for you. If you're purchasing via a volume licensing plan, you can also buy Software Assurance, which in some circumstances guarantees you an upgrade to the next version (though that depends on how soon the next version comes out). When you're ready to finally write the check for your multi-thousand dollar SQL Server purchase, it's a good idea to make sure that you've made the right decisions. When you're ready to buy, visit the Microsoft Licensing site. There you'll find all the information you need to put you in touch with a reseller who specializes in your own particular market segment (government, educational, or business), and who should have people on staff devoted to understanding the latest changes to the Microsoft licensing model. Believe me, it's a full-time job!
About the Author
Mike Gunderloy is the author of over 20 books and numerous articles on development topics, and the lead developer for Larkware. Check out his latest books, Coder to Developer (from which this article was partially adapted)and Developer to Designer, both from Sybex. When he's not writing code, Mike putters in the garden on his farm in eastern Washington state.