Thursday, May 24, 2012

What are the SQL Server DBA ongoing tasks?

PROBLEM:
What are the SQL Server DBA ongoing tasks?

SOLUTION:
This list includes the most important ongoing tasks:
  1. Make sure you have current backups of the database and they are indeed working
  2. Perform an experiment to make sure you are able to recover. Examine whether the restoration period for the database type you are restoring is too short or too long
  3. Make sure that recovery model of your database is well define for the database features (example: "Simple" if you do not need to back up transaction log)
  4. If you have a Disaster Recovery environment, try it in a while. That is, should initiate a case of trying to use the DR and the DR environment as a production environment
  5. Make sure you keep backups in a remote location in case you need to restore everything
  6. Dividing objects (tables/indexes) to separate data files on separate disks can improve performance significantly
  7. Divide the data and log files to separate disks
  8. Capacity planning - made ​​sure that you know in advance the max files sizes, and that you have enough space on the disks (including where the backup files)
  9. Make sure the operating system version and the database is up to date, including service packs, security updates and hot fixes. Since SQL 2000 is no longer supported, it is very important to upgrade it as soon as possible
  10. Make sure you really know what happens to your database, in terms of changes (tables, indexes, procedures). You can write such a mechanism or use and existing software. In SQL 2005 you can easily use DDL TRIGGERS and in SQL 2008, you can use Data Access Audit feature
  11. Security - make sure you comply with appropriate safety for your system (example: SOX, FDA). You can download the security baseline analyzer from Microsoft to check basic stuff: http://technet.microsoft.com/en-us/security/cc184924.aspx. Check your environment with SQL INJECTION and monitor the number of failed connections to database
  12. Monitor the ERRORLOG of the SQL and the EVENT VIEWER. These files contain important information for the DBA about IO problems, operating system errors, stop of services and so on
  13. Make sure that your maintenance work performs UPDATE STATISTICS and INDEX DEFRAGMENTATION. Use smart INDEX DEFRAGMENTATION to dfrgmanttzih the indexes by level of fragmentation
  14. Database integrity check - as you discover problems earlier, so you can correct them before it's too late
  15. Monitor the performance of the machine and the SQL Server instance on a regular basis and compare performance: over time, before and after version, before and after the TUNING (adding indexes, change TSQL, etc.)
  16. Make sure you care about to delete the history of JOBS and MAINTENANCE PLANS. When msdb inflated, each IO operation can cause performance problem (backups, maintenance plans, etc.)
  17. Make regular checks to make sure that the SQL SERVER "healthy": Monitor locks / blocks / deadlocks. Turn the FLAGS give you information about deadlocks, or run SQL Traces show you the deadlock graph. Pull out the heaviest 10-20 TSQL in DB or at all and do TUNING, or send them to programmers
  18. Ensure that the paging file is used as little as possible
  19. Ensure your anti-virus (if installed) does not cause performance problem: http://support.microsoft.com/kb/309422
If you find this solution useful, you are welcome to press one of the ads in this page.. Thanks!

1 comment: