What 5 things Should SQL Server Get Rid Of?

I was tagged by Paul Randal (blog | twitter) in a recent chainposting on what features I would like to see removed from SQL Server. Paul did not say if I was allowed to repeat any of the items he listed but I am going to do so anyway because I feel that strongly about shrinkage.

Auto-Shrink in Maintenance Plans

This is a no-brainer. In fact, when I read the title of Paul’s post the first “feature” that came to mind was the ability for people to stab themselves in the leg with an ice pick (AKA Auto Shrink). Are there times when you need to ability to shrink your database files? Absolutely. Should you be thinking to yourself that you want to do this on a regular schedule of some kind? Absolutely not. Unless, of course, you enjoy paying consulting fees to have people come in and tell you things like “uncheck that button, right there, and then make the check payable to CASH.”

Blue-on-blue

I have talked about this one before, but it still bothers me. Dan Jones was kind enough to offer an explanation, but I still cannot stand how PBM defaults to highlighting a row in blue and has blue text in that same row. It’s unreadable by human eyes and drives me crazy just thinking that they knew about this usability fail but still released it anyway.

Stop Naming Everything With ‘SQL’

SSMS, SSRS, SSIS, SSAS, SSNS, SSCM. And none of those acronyms refers to the database engine itself. And yet, because each of those items is tagged with ‘SQL Server’, I am then expected to be an expert in that particular product. I have lost track of the number of times someone has come to me with an issue related to one of these products and if I fail to have an answer immediately they look confused and ask “but aren’t you the DBA?” Yeah, that’s right, I am the DBA, not a report writer, or a cube builder, or a master of ETL processing. I don’t mind learning new things and helping people, but having them assume I know everything that gets named S-Q-L is just annoying (and don’t get me started on sqlps.exe, or the SQL Server Business Intelligence Development Studio).

Remove the ‘guest’ Account

Stop it. Just stop using this thing in order for your tools to work properly. This account will show up when we run our security audits and then we have to answer questions as to why it is there, and enabled. Auditors don’t like being told things such as “it needs to stay in order for things to work.” In fact, they hate that. If you need to use such accounts then make it something explicit or find a way to hide it completely. I’m tired of having to fight for your right to keep using this account.

Linked Servers

Seriously, they need to go. Not because they are bad, but because they get abused. Once you build a linked server then everyone starts to use it and before you know it that link is a critical part of your application. Linked servers were not intended to be used for anything more than an easier way for people to move data across the network in an ad-hoc fashion at best. They were not intended to be used in views, or functions, or anything else that usually causes a performance issue. Besides, you can still use OPENROWSET or OPENDATASOURCE in order to reach out and touch someone, it is just harder to do so. And by forcing people to do things a little harder you’ll find that most people won’t bother to do them at all and they’ll find a better way to get the job done than relying on a tool that was not designed for what they are trying to use it for.

I am tagging Kimberly Tripp (blog | twitter) because I would love to hear about the things she would like to see removed.

5 thoughts on “What 5 things Should SQL Server Get Rid Of?”

  1. I think linked servers needed to be improved. There should be mechanisms (in-band or out-band) that enables the optimizers to talk and be a little more efficient

    Guest account, I use for db-chaining, which I think is an overlooked method of restricting direct access to objects, but enabling views to work

    Reply
  2. You’re right that it’s easy to mis-use or over-use Linked Servers but that’s not a reason to get rid of them – just a reason to control their use better. I use Linked Servers to fetch data from operational data sources and it’s a brilliant way of solving the issues I’ve got, granted I don’t use them in views or functions because that would get a little crazy.

    Reply
  3. I dont agree with the Linked Server thing , that it need to be removed , its need improvement , but its an excellent featuer , you dont need to use any thing if you just want sql server to get communicate with other file based systems or what so ever just like quickbooks or any thing.

    I really love this feature.

    Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.