I’ve been asked what the most effective management processes are, and of course the answer is (as always) “it depends”. It depends because the size of the shop often dictates how much time you have to devote to your systems, how big those systems are, and how complicated your environment is. Of course, no matter how big your organization is, some tasks such as backups, are always required. I thought I might break down this discussion into several posts, and in this one I’ll cover the “small shop” DBA and Developer. By the way - I group those two roles together this time because in a small shop one person is often asked to do both jobs. If you have to work with SQL server in a “small” shop, meaning that you’re one of only a very few IT people, then you know what a challenge running and programming a database system is.
So in the case where you’re in a small organization, you have two basic challenges: time and generalization. With two jobs and only one person, there’s never enough time to get everything done by yourself, and since there only a few of you in IT, you’re expected to know everything.
To fix the time problem, you have three strategies. The first is using checklists. Checklists are available all over the web and in management books, and they can help you quickly focus on the things you need to do daily, weekly, monthly and yearly.
The second strategy is automation. You should focus your studies on SQL Server Agent, scripting, and SQL Server Integration Services (SSIS). Every task you automate keeps you from having to do it yourself, which buys you some time to work on other things that can't be automated.
Third, focus on alerting. Once again, the same tools you use to automate can be used to send you alerts when something fails. The Agent, shell scripts, and SSIS all have facilities to raise alerts and send e-mails when something is amiss.
On the generalization front, you have a couple of things that you can do. One is to try and stay on top of it all - read magazines, this blog :), listen to my Podcast, go to conferences, read books and talk to others. Of course, that doesn't leave a lot of time for eating and sleeping or spending any time with your family, so often this isn't the best choice. I recommend that you take on less - explain to your company that you can do a lot of things poorly or a few things properly. They will either have to resign themselves to having a stable database system and not much BI work, or some other rich feature.
There is another alternative. They can bring in other people on a part-time basis to do the things they want that you don't have time for. You can use reputable consultants, or even DBA outsourcing/insourcing services. If they do, make sure you explain that you might want to have the part-time help do some of the routine tasks, and let you do some of the more interesting work.
The key is communication. In many of the small companies I've worked for, the staff just didn't know how much work I was really doing to keep the train on the tracks. It really helps when you sit down and have an honest conversation with your manager and explain how much time each task really takes. That's another place those checklists really come in handy.