Not all of the routine, quotidian tasks that are performed by the DBA were created equal. Neglecting some of these daily tasks can lead to a headache, while others can lead to huge financial losses. While a lot of the DBA’s precious time gets dispensed to handling mistakes and issues that occur as a result of developers and users, it is important that the critical daily tasks do not get overlooked.
Here are 5 giant DBA mistakes to avoid in order to excel at your position.
1. Don’t forget test your backups!
In the hustle of everyday activities, some things may be overlooked. But do not let this be one of them! Regardless of the high quality of your disaster recovery techniques, it is extremely important for you to perform tests consistently to make sure that your backups are working. The worst thing that can happen is to find out that they aren’t when you are trying to restore them. SQL Server users should use the BACKUP VERIFYONLY command in order to verify that backups are working and to also use the CHECKSUM option to ensure that your database is not corrupted. Performing regular database restores on non-protected systems is also important to be sure that your backups can be restored. (To learn more about disaster recovery, see Disaster Recovery 101.)
2. Not being careful about security access restrictions can be costly!
Overlooking security threats is actually quite common among DBAs. Whether it is allowing people or applications to access higher level information than necessary or offering developers administrative privileges, these mistakes can result in data loss, data theft, data exposure or even database corruption. While one may think that giving developers direct access to production data can expedite the development and debugging process, it is definitely not a best practice. When considering the catastrophic mistake that can result from giving the wrong person access to too much, DBAs should make sure that users, developers, and even administrators are granted with only the lowest level of permission.
3. Don’t overlook consistent maintenance of your database!
After all, the database cannot run itself! It is extremely important that DBAs do not get lazy or overlook regular database maintenance and merely rely on the auto-tuning and self-healing capabilities of the database system. There are many crucial tasks that need to be done consistently, including running basic integrity checks for all production databases, checking the indexes for fragmentation, and updating the statistics on your production databases. It can be helpful to automate these tasks as long as any high-resource-consuming activities are not being run during peak production working hours. No matter what, it must get done, or costly mistakes can occur. (For more on DBA duties and responsibilities, see Database Administration Careers 101.)
4. Don’t wait until your system is having issues to start monitoring database activity levels and workloads!
Once your system is down, money starts being wasted and people start getting frustrated. It is therefore extremely important to monitor and benchmark server utilization regularly. Checking on the system’s performance statistics will help you understand the standard workload and to see the patterns in order to know when any changes or abnormalities are occurring. Make sure to check CPU utilization, memory, I/O, locks and blocking, and keep an eye on how much free space is still available for your data and log files.
5. Don’t disable page verifications!
New SQL Server databases have the default setting that checks for corruption by checking the checksum over a whole page and writes the value to the page header. Then, when the page is read into memory, it checks the checksum value again and compares the two numbers. If the two numbers do not match, then the page is corrupted and you will receive an error alert. Therefore, this setting is extremely beneficial and by disabling it you are setting yourself up for failure!
For a DBA there are many do's and countless don'ts. There are tasks that are so crucial that skipping them can lead to total database failure, and there are more subtle aspects that simply take you from being a functional DBA to a successful one. There are endless ways to constantly improve and work on yourself to make sure your practices are up to standard. Your role encompasses so much and deeply affects the successes and failures of your company. For this reason, it is critical that, as a competent DBA, you make sure that you learn from the mistakes of others in the field and do whatever you can to not make any of these big ones yourself.