I am managing a very important SQL Server 2008 R2 database. I need a solution that notifies me through email if the performance of the database server is getting bad.
I am imagining the following scenarios:
- Server is simply offline -> email "Server offline"
- Executing a standard test query takes 2x more time than yesterday -> email "Server performance degraded"
- No connections are open -> email "Server overloaded with connections"
- Average CPU usage is above 80% in the last 3 hours -> email "Server very busy"
- No free disk space -> email "Server out of disk space"
I have considered Performance Monitor, SQL Server Activity Monitor and looked through all the other solutions on the web but none of them are as simple and user-friendly as I'd like them to be. If you have no other suggestion than the ones above and in case I have to implement a tool like this how would I do it? Windows service that queries the database in certain intervals and sends an email if the response time gets worse?