sql >> Database >  >> RDS >> Sqlserver

Introductie van nieuwe functie - Deadlock-analyse

Eerst en vooral, wat is een Deadlock? Een deadlock treedt op wanneer twee of meer transacties elkaars voortgang blokkeren omdat één transactie een vergrendeling heeft op een databaseobject waartoe de anderen toegang nodig hebben. Dit zorgt voor een harde stop op elke vorm van voortgang, omdat elk proces een onbepaalde tijd kan wachten op het vergrendelde object. SQL Server grijpt in om de patstelling te doorbreken door een of meer van de geblokkeerde processen te beëindigen. De ongelukkige processen die werden gedood, moeten helemaal opnieuw beginnen.

De meeste DBA's hebben moeite met het vinden van een impasse (of proberen erachter te komen of een impasse is wat er in de eerste plaats is gebeurd), omdat het zo tijdrovend is. Tegen de tijd dat een impasse is gevonden, kunnen er vaak nog een paar zijn opgetreden, waardoor het probleem nog groter is geworden. Zelfs als je erachter komt dat er een impasse is opgetreden, is het bijna onmogelijk om deze op te lossen zonder te weten wat er is geblokkeerd, de aard van het type vergrendeling dat door elk proces wordt gevraagd en welke sessies erbij betrokken waren.

Functies zoals deadlock-analyse worden meestal alleen gezien in dure monitoringtools op bedrijfsniveau. Maar onze ontwikkelaars bij Spotlight Cloud begrijpen dat DBA's soms geen honderden SQL-servers monitoren - soms is het slechts 1 of 2. Daarom zijn we zo verheugd om aan te kondigen dat deadlock-analyse nu is opgenomen als een standaardfunctie in onze gehoste monitoringtool, Spotlight-cloudprofessional. Zo werkt het.

Met Spotlight Cloud SQL Server Deadlock Analysis hebt u toegang tot alle prestatiegegevens die nodig zijn om deadlocks te identificeren en op te lossen en uw databaseprestaties te verbeteren.

Het Deadlock Analysis-dashboard in Spotlight Cloud toont een compleet overzicht van deadlocks in uw SQL Server-omgeving. Hier kunt u alle processen en bronnen die door de impasse zijn getroffen in één enkel scherm bekijken, een samenvatting bekijken van het aantal deadlocks dat binnen een bepaald tijdsbestek is opgetreden, de tijd dat elk proces verloren is gegaan als gevolg van de deadlock, de bijbehorende SQL en welke processen het slachtoffer werden van de deadlock-oplossing van SQL Server.

In het Alarmen overzicht kun je alle deadlock gerelateerde alarmen zien. Als u op het alarm klikt, ziet u een overzicht van het aantal deadlocks, het aantal sessies dat als slachtoffer is opgeofferd en de totale tijd die verloren is gegaan door het oplossen van deadlocks. Naast alle hierboven vermelde informatie, ziet u de sessies, databases en objecten die het meest zijn getroffen.

Samenvatting

Met Spotlight Cloud Deadlock Analysis kunt u sessies en programma's bekijken die werden uitgevoerd tijdens het incident van een deadlock. In het dashboard ziet u de exacte SQL-tekst die door dat specifieke programma is uitgevoerd. Wanneer u in die SQL boort, kunt u identificeren waarom deze vastliep en wat er op dat moment nog meer probeerde. Je kunt ook filteren op slottype - rij, sleutel, pagina, SPID, enz. Met het type slot, het object dat erbij betrokken was, de instructietekst die erbij betrokken was en de sessies, kun je de impasse en beginnen met oplossen.

Met de Deadlock-analyse van Spotlight Cloud kunt u...

  • Bekijk/bewerk uw deadlock-tijdlijn en doorvoerverzoek per seconde in een gemakkelijk leesbare tabel.
  • Filter op basis van databases, programma's, gebruikers en objecten, zodat u de hoofdoorzaak van de gedode processen kunt identificeren. Bijvoorbeeld als een bepaald object, misschien een tabel in de database, niet toegankelijk was vanwege de impasse.
  • Identificeer alle sessies, het bijbehorende programma en alle slachtoffers die bij een bepaalde impasse horen.
  • Bekijk een lijst met objecten die door elke sessie zijn aangevraagd en het aangevraagde type vergrendeling
  • Bekijk de exacte SQL-tekst die door een bepaald programma is uitgevoerd.

Dus, in plaats van uren te besteden aan het lokaliseren van een impasse, probeer een Spotlight Cloud Professional 30-dagen proefversie om uw tijd en middelen te maximaliseren.


  1. SQLite-queryresultaten opslaan in een tekstbestand

  2. ElasticSearch-indexstructuur instellen met bindingen met meerdere entiteiten

  3. Declareer door gebruiker gedefinieerde uitzondering met behulp van de RAISE_APPLICATION_ERROR-methode in Oracle Database

  4. MySQL-volgorde op beste match