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.