Services‎ > ‎

SQL health check

SQL Server is a reliable and robust platform upon which to deploy your mission critical databases. So much so that it frequently merges into the background and is forgotten about... until something goes wrong!

Our health check is designed to give your SQL Server system the database equivalent of a combined service and MOT; ensuring that the system is configured properly, that it is running smoothly and that the various processes designed to be used in the event of a problem are all working okay.

We also offer a SQL Server support contract which is available with two different levels of support.

Why do I need a Health Check?

  • One client thought that their backups were working correctly. It was only when their database became 'suspect' that they discovered the backups they thought that they had were 0 bytes in size and completely worthless (luckily we managed to repair the database).
  • Another client was about to spend £30,000 on a sophisticated auto-change tape backup device. We corrected a problem with their SQL backups so they no longer needed the new tape device. By some simple tuning we've enabled a client to do a customer search in 0.5 seconds instead of 6 seconds.
  • One client's website was only able to cope with 10 customers at a time - now it can handle 1,000.
  • Another client's backups were running properly every night - but if their database failed at 5 pm they would have lost the entire day's work; a disaster in their retail environment. We implemented transaction backups every 15 minutes in addition to the overnight full backups so that in the worst case scenario only 10 minutes worth of data would be lost.
  • The IT department at one site was concerned to know that backups had actually been run without having to remember to manually check each day. We set up a notification that automatically e-mailed them the details each time a backup had completed.
  • Everything was working fine at another client's site until they re-booted the server. SQL Server re-started okay and all appeared to be working correctly. Unfortunately the SQL Agent server was not set to restart and hence none of the scheduled jobs was running (Maintenance plans, backups, data imports, etc.) , a potential disaster in the making.

What is included?

All installations are different so we do modify our investigations depending upon our findings; however a typical health check includes:

  • An on-site visit.
  • Check out the server (Memory, disk space, drive locations, etc.).
  • Analyse the server under normal load to identify bottlenecks such as processor, RAM, network, etc.
  • Check out SQL Server's configuration options (including RAM, CPU, Disk locations, torn page detection, auto close, recovery mode, data and log file growth settings, etc.).
  • Check service packs (Windows & SQL Server) and apply if necessary.
  • Check that the correct back-up regime has been used and that Full, Differential and Transaction Log backups are properly configured and are working correctly.
  • Verify that the system databases are being backed-up as well as the application databases and with the appropriate settings.
  • Restore a back-up to another database to check that it actually works!
  • Run Microsoft's Best Practice Analyser, interpret the results and take appropriate action.
  • Run DBCC checks.
  • Check the logs for errors.
  • Check SQL Agent for job failures.
  • Ensure that the correct services are running on the server and are set to autostart.
  • Disable unnecessary services.
  • Check SQL security.
  • Check the size of the database and transaction logs and shrink where relevant.
  • Verify the quality and integrity of the data structures in your application database(s) (Primary Keys, normalisation, referential integrity, etc.). Check indexing. Check or create scheduled back-up and maintenance jobs.
  • Optionally enable e-mail on the server to allow SQL Server to send e-mails automatically.
  • Set-up notification to send a message when the job finishes.
  • Undertake various optimisation and tuning operations to improve performance.
  • Discuss any existing problems/issues and suggest solutions.
  • Advise you of any changes we have made, warn you of any potential problems we have noticed and make recommendations for further improvements.