\nWhile it’s good to keep an eye on your SQL Server instances – it’s a balancing act. <\/span>On one side you want to be sure that you are monitoring critical areas and pulling enough information to perform root cause analysis on anything out-of-the-norm. But on the other side, if you pull an excessive amount of information (or redundant information), your monitoring could end up being the cause of the problems you were looking to prevent. <\/font><\/font>\n<\/p>\n \nLet’s get specific.<\/font> <\/font><\/span><\/font>\n<\/p>\n \nImagine your HR department has an application that executes the following query several times per minute:<\/font><\/font>\n<\/p>\n \nSELECT <\/span>JobCandidateID, [Edu.Level], [Edu.StartDate], [Edu.EndDate], [Edu.Degree],[Edu.Major], [Edu.Minor], [Edu.GPA], [Edu.GPAScale], [Edu.School], [Edu.Loc.CountryRegion], [Edu.Loc.State], [Edu.Loc.City]<\/font><\/font>\n<\/p>\n \nFROM HumanResources.vJobCandidateEducation;<\/font><\/font>\n<\/p>\n \n \n<\/p>\n \n<\/font><\/font>\n<\/p>\n \nThis is a simple, but important query for the department, and typically the query finishes executing in 10 milliseconds on the production system.<\/font><\/font>\n<\/p>\n \n \n<\/p>\n \n<\/font><\/font>\n<\/p>\n \nNow imagine that you get a call from the HR department that all queries seem to be running slowly. <\/span>They send you the aforementioned query and you execute it, seeing that indeed it is running in 31 milliseconds instead of the normal 10 milliseconds.<\/font><\/font>\n<\/p>\n \n \n<\/p>\n \n<\/font><\/font>\n<\/p>\n \nThe HR team is still getting work done, just more slowly now. <\/span>Since workloads were still coming through, you decide to check out what the tasks are waiting on by querying sys.dm_os_waiting_tasks. <\/span>Right away you see something unusual:<\/font><\/font>\n<\/p>\n \n \n<\/p>\n