6 things about SQL I wish Microsoft would change…

I have been using Microsoft SQL Server for a while now, back to release 4.2 which was a ported version of Sybase SQL Server 4.9 running on Windows for Workgroups 3.11. Those were the days. The product has come a long way since then, culminating in this years soon to be released SQL 10.0 which will be known as SQL Server 2008. After all those years surely the product is approaching perfection, right? Well, not so fast. Let's look at a few items on my wish list for the next release:

1. SSMS Auto-refresh

2. Database Mirroring with Load Balancing

3. Log Explorer built-in to SSMS

4. ReportBuilder RDL accurate for BIDS

5. Full Backup to Truncate the Transaction Log

6. Source Code for Report Manager

Let's look at them one by one:

1. SSMS Auto-refresh: One thing annoying about the old Enterprise Manager application was when you created a new object such as a database or a table, you needed to manually refresh the Object Explorer to see the new object. This behavior is still in SQL Server Management Studio even though it was a complete rewrite in 2005 (yes, I have even checked the new RC0 for 2008) and it is especially annoying because you have to refresh the exact folder that contains the object. Just hitting F5 won't cut it. SSMS does so much "under the hood" so why can't it do just one more thing?

2. Database Mirroring with Load Balancing: When Database Mirroring was announced for SQL Server 2005 we were promised a data protection and load balancing solution with transparent failover and client redirection without a cluster. Well, it's pretty much all there in SQL Server 2008 except the load balancing. You see, the Mirror database has to be in "Restoring" or "No Recovery" mode until failover occurs which makes the Mirror database unusable for load balancing queries. Yes, you can make a database snapshot of the Mirror but that's a point-in-time snapshot and does not reflect the latest updates. There must be a way...me thinks there must be a design flaw that prevents this. Until then I'll use Peer-to-Peer Replication or Log Shipping for load balancing.

3. Log Explorer built-in to SSMS: The official line on the Transaction Log is that it is stored in internal format and cannot be viewed or modified manually. You would need a third party tool like Lumigent's Log Explorer to view the transactions stored in the Transaction Log and to do things like selectively replay transactions without replaying others. Microsoft should have this technology built into SSMS. I am surprised Microsoft does not just acquire the technology. I guess Lumigent have a pretty high asking price. Maybe it's cheaper to buy Yahoo! (sic)

4. ReportBuilder RDL accurate for BIDS: ReportBuilder is really cool for developing powerful reports very quickly using report models. You can even allow your users to develop ad hoc reports on their own. Or keep it in your back pocket to impress your users with rapid report development while you book your tee time. (Just kidding!). The neat thing is that ReportBuilder generates RDL (Report Definition Language) which is the XML source format of all reports in Report Services. This means you can take a report built in ReportBuilder and open it with Report Designer in Business Intelligence Development Studio (BIDS) for further enhancement. Except the Dataset definition is not defined correctly for BIDS and some manual intervention is needed to get that piece correct. It would not take much for Microsoft to correct this one.

5. Full Backup to Truncate the Transaction Log: Ever since the beginning of SQL Server, the Full Database Backup does not truncate the transaction log. This means that in Full Recovery model, the Transaction Log will continue to grow ad infinitum unless you perform regular Transaction Log Backups separately. Microsoft Exchange Full Backup truncates its Transaction Log so why can't we have this for SQL? This would help out novice users who heard that Microsoft was pushing SQL Server to a "self tuning" model.

6. Source Code for Report Manager: Report Manager is a fairly clunky web application built in ASP.NET for 2005. Now it's been rewritten in native .NET code so we don't have to use IIS or ASP.NET in 2008. That's great. But give us the source code so we can enhance this front-end application ourselves. That might be too close to Open Source? Call it Shared Source and let's move on...

That's my list. What's on your wish list?

Cheers

Brian

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Related:
Now read: Getting grounded in IoT