Hands on with SQL Server 2005
Cutting the mustard
Review SQL Server is a client-server based, relational database engine. That puts it head-to-head with the likes of IBM’s DB2 and Oracle’s Oracle… or so Microsoft dearly wants us to believe.
The problem is that, while DB2 and Oracle are unquestionably enterprise-level products, SQL server has for years been dogged by the suspicion that it can’t really cut the mustard. The reason lies in the, somewhat chequered, history of the product.
So, the most important question about SQL Server 2005 has to be “Is this really an enterprise level database engine?” In other words, as a professional developer, are you wasting your time by taking SQL Server seriously, or are you missing an employment opportunity by ignoring it?
Right up front I’ll tell you my conclusion – yes, it is. In fact, I think that SQL Server 2000 was, for most companies, an effective enterprise-level database engine. So, the rest of this article tells you about the features the SQL Server 2005 has and why I think that they make it enterprise ready.
Of course, developers aren’t simply interested in enterprise-level computing, they can work at any level from the single-user upwards and, in 2005, there is suddenly a version for everyone.
Express is the most restricted version of SQL Server 2005 and is limited to one CPU, 1Gb RAM and a database size of 4Gb. Errr… wait a minute. For SMEs (Small to Medium sized Enterprises) and departmental databases, this isn’t a serious restriction at all. Most of them don’t have anything like 4Gb of data. And, unlike MSDE (the free version of SQL Server 2000), Express does NOT have an artificial performance throttle that restricts the performance above about 5 users; so, you can connect as many users as the box will stand. And the current cost of this software is zero, nothing, 0. It’s free, at least for the present. However, Microsoft reserves the right to start charging for it in the future, so download your copies now.
Express was destined to be released with a UI console called Express Manager. As I write these words Express Manager has not been released as final code (and it looks as if it may be dropped in place of a cut-down version of Management Studio, see below), but you can still download the complete version of Express and the CTP (Community Technology Preview (a sort of a public beta version) of Express Manager here.
Express does lack some of the top end features of SQL Server 2005 such as the BI tools but it does have all of the new programmability features and it is, let’s stress that again, FREE. I seriously suspect that this version may prove to be the most significant of all in the long term – particularly for developers; but also for helping Microsoft to gain market share.
Next in terms of power comes the Workgroup edition of SQL Server 2005. This can use two CPUs, 3Gb RAM and there is no limit on the size of the database. As is usually the case, all features (apart from price) found in the lesser editions are found in the more powerful ones, so you can think of Workgroup as Express on steroids.
Workgroup uses the standard UI for SQL Server 2005, which is based on Visual Studio and called Management Studio; there’s also a Database Tuning Advisor, which does what it says on the can. [But why do you need database tuning if you have a decent optimiser? OK, that's a sort-of rhetorical question, but it still deserves an answer – Ed; Mark points out that a tuning advisor can optimise reasonably, e.g. suggest creating a new index or changing the data type of a column used in a join.] The major feature left out from Workgroup is a BI capability.
However, almost all of those BI components are present in the Standard edition. You get a BI Development Studio (also based on Visual Studio) that is an integrated development environment for building and deploying BI components for data integration and reporting. You also get Analysis Services; essentially a multi-dimensional database engine that provides extensive OLAP capabilities. You even get the original data mining algorithms that were supplied with SQL Server 2000 - decision trees and clustering.
In terms of hardware, the Standard edition supports four CPUs and there is no limit to RAM or database size.
The Enterprise edition, of course, does everything. No limits on CPUs, RAM or database size. All the BI tools are present, including five new data mining algorithms (neural networks, naïve Bayes, sequence clustering, association and time series). There are advanced features for the OLAP work (advanced measures and dimensions, custom rollup, proactive caching and partitioned cubes). It also has all the high availability and scalability that you expect from an enterprise database engine.
Verdict: Five years is long enough, surely?
No, clearly not, even though (given that SQL Server 2000 was a reasonably effective enterprise-level database engine already), you might have expected Microsoft to have actually finished the 2005 version.
However, on September 14 2005, Paul Flessner, senior vice president, Microsoft, in an email to those of us beta testing SQL Server 2005, said:
I have said publicly many times that we won't ship a product until it is completely proven by customers… One of the things we learned is that we believe our Database Mirroring feature needs more time in the hands of customers before we make it generally available for production use. The feature is complete, has passed extensive internal testing, and we are committed to making it generally available in the first half of 2006. We will continue to field test the feature with customers and will release it for general use as soon as you tell us it is ready.
You can probably translate that without my help.
In addition, he said that (although Microsoft does supply database management tools for SQL Server):
We also heard from many of you that you wanted a more seamless management experience across all SQL Server 2005 editions. With this in mind, we are in the process of building a scaled down version of our SQL Server 2005 Management Studio for SQL Server 2005 Express Edition. We believe this will provide you with the ability to more efficiently manage SQL Server 2005 Express Edition with increased automation and lower complexity. The final delivery of this technology will also depend on additional feedback from customers, but we anticipate that it too will be delivered in the first half of 2006.
So, with these comments in mind, do I really think that SQL Server 2005 is Enterprise ready and, even if it is, should you wait for SP1 (Service Pack 1) or even SP2?
Yes, despite these hiccoughs, I think it is ready and I have started to deploy real applications without waiting for even SP1. I have been playing with (sorry, working with) the product for two years. It is, in my opinion, a shockingly good product. I really do believe that Microsoft has taken the enterprise bit seriously.
Will it have bugs? Of course. Will there be SPs? Of course there will. Is it ready? Yes.
Most of the Microsoft website seems devoted to telling you about SQLServer 2005 at present. However, if you want specific pointers try: