Being a DBA is one of the most challenging job. Why do you think we are saying so? Think of a normal situation, I have seen developers say this is the easiest life if you are a DBA. They never do know what all a DBA does in his day job. Most people think taking a backup is the only thing that a DBA does in his job. However, most don’t know that there is so much to this job that never is seen by many.
One of the tasks involved in being a smart DBA includes automating the tasks in hand. What are the activities that a DBA must automate? Though there are a number of tasks to automate, here are few that we consider are worth automating as a DBA:
Backup is one of the most mundane task which a DBA needs to perform. From manual backup technique to building automation to it is something most of the DBAs perform. This include using the maintenance plans and scheduling these plans using SQL Server Agent. This is the most common method we have seen people use. These techniques are valid for using standard SQL Server native backups, but if you are using third party backups then most of these tools also expose scheduling.
Monitoring SQL Server
We have seen single DBAs get tasked with monitoring many servers at any given point in time. When working with a few servers it is important that we know the health of each of the servers from a single point of view. It is humanly impossible to be sitting in one place and monitoring each and every server to if:
Jobs completed successfully.
If the capacity is running out in case of space, CPU, Memory, Network
If the server is slowing down and not performing to the mark
If there are errors being generated on the server
If DOS attacks are happening on the server
If the physical hardware has failed
If the connectivity is malfunctioning
And many more. There is no fixed rules when it comes to monitoring SQL Server. Each DBA needs to reinvent his methodology to do each of these tasks.
Though patch management is one of the simplest task. It cannot be automated as-is but it needs to be documented and put as part of process. Each patch needs to be downloaded locally first. Then the application dependencies needs to be evaluated and tested before they are applied on production. When these are applied on production we need to take care of the order in which these need to be applied, if a downtime is required when working with thee patch, the order in which the patch will be applied in the case of clustered environments needs to be evaluated.
The final fine print of an effective monitoring is to have a robust alerting system. Think of situations where the server is experiencing severe lack of space to expand at the DB service is stalling. Or if some hardware component malfunctions you want to get an intimation via email or SMS in an automated way rather than the end user complaining and calling you in the middle of the night.
Automation is not a luxury for DBA, but it is a way in which they execute their job. Being efficient, smart in doing the tasks in hand is what makes a DBA so cool. Never does a developer know what all work a typical DBA might do. Automation can make organizations build process that can act as proactive measures to effective maintenance of their environments. Do let us know what all processes are automated in your environment that you found in the recent past.