I've always tried to manage things simply, meaning that I want all instances, and all databases to be managed the same way.
But Is that really a good idea? If you back up all databases every hour because you can, is that waste of resources? What about indexing? Do you need to rebuild only those indexes that need rebuilding? After all, we can rebuild in a smarter way, so it makes some sense there, but then we also need to track data about the indexes so we know what's changed, or what state things are in.
Earlier in my career I used to think that if I could do something, I should. Or at least I should if I thought it would actually help my company. So I'd run full backups every night, reindex every night, set fairly tight tolerances on fillfactors to get them to optimum levels each day. Things always ran smoothly, I was being very proactive, and it seemed to make sense to do these things at many of my jobs.
However as I've gone along in my career, many things have changed. Storage is cheaper in terms of cost/GB, but the management of space, and the issues of having so much storage around, have changed things. Power is also a consideration these days, something that wasn't a concern a decade ago for most companies. Now I find myself rethinking the need to just let my servers do extra work because I have the time and free computing resources. A server that's idling uses half the power of a fully loaded server, and if you've measured load during backups and index rebuilds, it can be significant. Should we really run full backups every night if a differential requires significantly less resources and doesn't significantly affect our recovery issues? Should we reindex all tables every night because we can?
On one hand I think we need to think beyond our simple systems, and consider the larger picture for the enterprise. Can we implement more logic that limits the amount of work, space, power, and other resources that we use?
On the other hand, I think we as DBAs, as humans, are prone to mistakes. It's easy for us to forget the exceptions that exist in our systems and if we have a variety of processes tailored to individual servers, it's a more complicated environment. And anything more complicated, is harder to understand, and easier to make mistakes with.
The KISS principle (Keep It Simple, Stupid) is one I've tried to implement when I could and one I'd still recommend that you keep in mind.
The Voice of the DBA Podcasts
The podcast feeds are now available at sqlservercentral.mevio.com to get better bandwidth and maybe a little more exposure :). Comments are definitely appreciated and wanted, and you can get feeds from there.
or now on iTunes!
Today's podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.
I really appreciate and value feedback on the podcasts. Let us know what you like, don't like, or even send in ideas for the show. If you'd like to comment, post something here. The boss will be sure to read it.