Först och främst, vad är ett dödläge? Ett dödläge uppstår när två eller flera transaktioner blockerar varandras framsteg eftersom en transaktion har ett lås på ett databasobjekt som de andra behöver åtkomst till. Detta skapar ett hårt stopp för alla slags framsteg eftersom varje process kan vänta en obestämd tid på det låsta objektet. SQL Server går in för att bryta dödläget genom att döda en eller flera av de blockerade processerna. De olyckliga processerna som dödades måste börja om från början.
De flesta DBA:er kämpar med att försöka hitta ett dödläge (eller försöker ta reda på om ett dödläge ens är vad som hände från början) eftersom det är så tidskrävande. När ett dödläge hittas kan det ofta ha inträffat några fler, vilket förvärrar problemet. Även när du upptäcker att ett dödläge inträffade är det nästan omöjligt att fixa det utan att veta vad som har blockerats, vilken typ av lås som begärs av varje process och vilka sessioner som var inblandade.
Funktioner som dödlägesanalys ses vanligtvis bara i dyra övervakningsverktyg på "företagsnivå". Men våra utvecklare på Spotlight Cloud förstår att ibland DBA:er inte övervakar hundratals SQL-servrar – ibland är det bara 1 eller 2. Det är därför vi är så glada över att meddela att dödlägesanalys nu ingår som en standardfunktion i vårt värdbaserade övervakningsverktyg, Spotlight Cloud Professional. Så här fungerar det.
Med Spotlight Cloud SQL Server Deadlock Analysis kommer du att kunna komma åt all prestandadata som krävs för att identifiera och lösa dödlägen och förbättra din databasprestanda.
Deadlock Analysis-instrumentpanelen i Spotlight Cloud visar en komplett bild av dödlägen i din SQL Server-miljö. Här kan du se alla processer och resurser som påverkas av dödläget på en enda skärm, se en sammanfattning av hur många låsningar som inträffade inom en viss tidsram, den tid varje process förlorat som ett resultat av dödläget, den associerade SQL-koden och vilka processer som blev offer för SQL Server-låsningslösningen.
I larmöversikten kan du se alla dödlägesrelaterade larm. Om du klickar på larmet ser du en sammanfattning av hur många dödlägen som inträffade, antalet sessioner som offrats som offer och den totala förlorade tiden på grund av upplösningen av dödläge. Utöver all information som listas ovan kommer du att se de sessioner, databaser och objekt som är mest påverkade.
Sammanfattning
Spotlight Cloud Deadlock Analysis låter dig se sessioner och program som kördes under ett dödläge. I instrumentpanelen ser du den exakta SQL-texten som kördes av det specifika programmet. När du borrar i den SQL-koden kan du identifiera varför den var låst och vad mer som försökte få tag i den vid den tiden. Du kan också filtrera efter låstyp – rad, nyckel, sida, SPID, etc. Med typen av lås, objektet som var inblandat, satstexten som var involverad och sessionerna, kommer du att kunna sätta ihop dödläge och börja lösa.
Med Spotlight Clouds dödlägesanalys kan du...
- Visa/redigera din deadlock-tidslinje och genomströmningsförfrågan per sekund i en lättläst tabell.
- Filter baserat på databaser, program, användare och objekt så att du kan identifiera grundorsaken till de dödade processerna. Till exempel, om ett visst objekt, kanske en tabell i databasen, var otillgängligt på grund av dödläget.
- Identifiera alla sessioner, det associerade programmet och alla offer som är associerade med ett visst dödläge.
- Se en lista över objekt som begärs av varje session och den låstyp som efterfrågas
- Se den exakta SQL-texten som kördes av ett visst program.
Så istället för att spendera timmar på att försöka hitta ett dödläge, prova en Spotlight Cloud Professional 30-dagars provperiod för att maximera din tid och resurser.