I just finished watching a session on some of the feature sets that were announced in SQL Server 2005. I look at the SQL Server Profiler, Database Snapshots, CLR, Database Mirroring and many others. I then reflect too many of the clients that I work with or have worked with that are running SQL Server 2005 and what features that they are using. SQL Server 2005 has a lot to offer, but from what I see most shops are not using many if not most of these features.
This makes me wonder about what is going to happen when SQL Server 2008 is release, now we have Policy Based Management, a Resource Governor, and a new Reports Builder tool. Are we as DBA’s going to still see databases that were architected in SQL Server 2000 being pushed to SQL Server 2008? There is some benefit to this. One of these benefits is that they get to use the new engine that sits behind SQL Server another is that your version will stay in support with Microsoft. However, I am seeing many places where database mirroring may fit into a company really well, but since it will take to much time to redesign the front end application or a re-direction of the budget funds would cause too much pain they choose to stay with the existing plan that is in place.
A perfect example of what I am talking about it a company that I use to do some work with wanted to have a failover site in a different city (2000 Miles away to be exact). It was a fairly simple request and should not have been that hard to architect around. Off the top of my head I could think of a couple of really good ways that this could be done:
1. Transaction Log shipping – In a simple explanation it moves a copy of the backup of the database automatically over to the fail over server, restores it, and then does the same with the logs. (SQL Server 2000 has this embedded)
2. Database Mirroring – Allows for a database to have a mirrored copy on another server, in another city. The neat item with this is there is a witness server that will keep track of who is online and who is not. The witness will control the fail over. (SQL Server 2005)
However, what the company did was write their own version of transaction log shipping. This process included a piece of software that was written in house to copy the files from one point to the other. The copy software did a great job, but my issue with this is that we were re-creating the wheel. We were putting software in place that was already there in the feature set of SQL Server 2000, eight year old technology at this point. This does not even include what could have been done using SQL Server 2005.
My cry to you is this, when you start looking at upgrading your version of SQL Server to either 2008 or whatever version you are considering. Please take time to learn the new features, I believe in the long run you will save yourself time, the company money, and in the long run you will be using your tool to the fullest. Tom Roush does a great job a talking about databases for the common person. Think of it this way, why buy a multipurpose tool like a Leatherman if all you need is to twist in one screw. In a Leatherman there are many tools but if you only need to use it to twist a screw, shouldn’t you just use a screw driver?