When something breaks in production, experience matters.
Production Troubleshooting
Production problems are expensive. Every minute of degraded performance or downtime costs the business. Effective troubleshooting requires someone who has seen these patterns before — not someone learning on the job.
Types of Problems Conceptlab Investigates
The Troubleshooting Approach
Systematic diagnosis over trial and error. The goal is to understand what is happening before changing anything.
Establish what changed
Production problems almost always follow a change — a deployment, a data load, a configuration change, or a data volume threshold being crossed. Establishing the timeline is the first step.
Review the evidence
SQL Server wait statistics, execution plans, error logs, application logs, blocking information — the evidence is usually there. The question is knowing where to look and what it means.
Identify the root cause
Symptoms point to causes, but the visible symptom is often not the root cause. A timeout is a symptom. Blocking is a symptom. The root cause is the query holding the lock.
Test the hypothesis
Before deploying a fix, verify that the hypothesis is correct. A fix applied to the wrong problem wastes time and may introduce new problems.
Implement the fix
The fix should address the root cause, not just suppress the symptom. This might be a query rewrite, a configuration change, an index addition, or a code correction.
Verify the resolution
After the fix is in place, confirm that the problem is resolved using the same evidence sources that identified it. Document what was found and what was done.
SQL Server Production Troubleshooting
SQL Server provides extensive diagnostic information through DMVs, wait statistics and execution plans. Using this information correctly requires experience with the tools and the patterns.
Key Diagnostic Areas
- sys.dm_exec_requests — current sessions, wait types, blocking
- sys.dm_os_wait_stats — instance-level wait accumulation
- sys.dm_os_waiting_tasks — session-level wait information
- Query Store — execution plan history and regressions
- Execution plan comparison — cached plan vs freshly compiled plan
- Extended Events for targeted capture of specific events
- sys.dm_db_index_physical_stats — index fragmentation
- SQL Server error log and Windows event log
.NET Application Production Troubleshooting
- Application event log and custom logging review
- IIS logs and request timing analysis
- Memory dump analysis for out-of-memory conditions
- Thread pool exhaustion diagnosis
- Async/await deadlock patterns in .NET applications
- Connection pool exhaustion diagnosis
- Deployment diff analysis — what changed between working and broken
Have a Production Problem?
Describe what is happening — what the symptom is, when it started, what has already been tried. Conceptlab will assess how to help.
Discuss the Problem