If you have been looking at the feature sets of SQL Server 2005 you have seen the Database Mirroring feature. This is a feature where you can have a database that is a copy of your source database. The idea is that if one of the mirrors fails the other one can take over, now it’s a little more complex than that, but really that is one of the core feature sets of database mirroring. Many people spend a lot of time looking at how we can make our databases withstand hurricanes, blizzards and earthquakes. What about you? I am not asking if you are spending time working on your database to withstand all the elements, but can you yourself handle an outage by yourself, maybe the question should be should you handle it by yourself.
Last week I was spending a large amount of time trying to recover some disk space. I was running into a few issues that collided with each other and really put the database as risk. I had to run a couple starts and stops of the services, just to make sure that everything was in working order. As I was doing this it came to me that maybe this may not be the full picture, what if what I had in my mind as the quickest, easiest and complete fix was not that at all. What if my fix was going to add to an already cascading problem? It really got me thinking about Single DBA shops, and stress that they must be under.
I believe that no one goes into an problem, hoping to create a bigger problem, I am sure that most people that are working on a database issue late Friday night just wants that issue to be corrected and they want to go home, or head of to whatever it is we do on our free time (That is assuming that you have a lot of free time and you know what to do when you have some). But it is possible to make a mistake, and sometimes these mistakes can end up costing you a lot more time. Before I went forward with the corrections I made I decided it was time to call another DBA. A DBA mirror so to speak. I called 2 DBA’s that I have known for years and I simply had the following conversation with them:
- This is the Issue that I am seeing, I believe it is caused by this and here is why.
- Here is my plan of actions, I expect that it will take about this long to do it and the expected outcome.
Here is what the worst case scenario is here I completed these tasks to avoid the worst case scenario.
All of that leads me to the big question, and that is: where does my DBA mirror see fault in my thinking, what errors did I make or possible outcomes did I overlook? Having a DBA Mirror is a great way to add a layer of safety to what you do every day. It becomes even that much more important when you are in the middle of a crisis for some reason. The second benefit to this is now the DBA mirror has a chance to learn something as well. Even If they have never encountered the error that you are having they can help you keep your feet on the ground, by remembering the things like did I back up the database, am I restarting the services via the Cluster Administrator.
On another note, don’t forget to sign up for the SSWUG Free Community Event, coming up April 17th. This event is completely free, one of the sessions Paul Nielsen, Stephen Wynkoop and myself sit down and discuss SQL Server topics. You can find that event information here: https://www.vconferenceonline.com/shows/spring09/sql/s09event.asp.