Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Managed Instance
Gebruik SQL Server Profiler om de oorzaak van een impasse te identificeren. Er treedt een impasse op wanneer er een cyclische afhankelijkheid is tussen twee of meer threads of processen voor een bepaalde set resources in SQL Server. Met BEHULP van SQL Server Profiler kunt u een tracering maken die records, herhalingen en impasse-gebeurtenissen weergeeft voor analyse.
Als u impasse-gebeurtenissen wilt traceren, voegt u de gebeurtenisklasse Deadlock-grafiek toe aan een trace. Met deze gebeurtenisklasse wordt de kolom TextData-gegevens in de trace gevuld met XML-gegevens over het proces en de objecten die betrokken zijn bij de impasse. SQL Server Profiler kan het XML-document extraheren naar een impasse-XML-bestand (.xdl), dat u later in SQL Server Management Studio kunt bekijken. U kunt SQL Server Profiler configureren voor het extraheren van Deadlock graph gebeurtenissen naar één bestand dat alle Deadlock graph gebeurtenissen bevat, of naar afzonderlijke bestanden. Deze extractie kan op een van de volgende manieren worden uitgevoerd:
Tijdens de traceringsconfiguratie gebruikt u het tabblad Instellingen voor het uitlezen van gebeurtenissen. Dit tabblad wordt pas weergegeven wanneer u het evenement Deadlock-grafiek selecteert op het tabblad Gebeurtenissenselectie.
Gebruik de optie SQL Server-gebeurtenissen extraheren in het menu Bestand .
Afzonderlijke gebeurtenissen kunnen ook worden geëxtraheerd en opgeslagen door met de rechtermuisknop op een specifieke gebeurtenis te klikken en gebeurtenisgegevens extraheren te kiezen.
Impassegrafieken
SQL Server Profiler en SQL Server Management Studio gebruiken een impassewachtgrafiek om een impasse te beschrijven. De impassewachtgrafiek bevat procesknooppunten, resourceknooppunten en randen die de relaties tussen de processen en de resources vertegenwoordigen. De onderdelen van wachtgrafieken worden gedefinieerd in de volgende tabel:
| Knooppunt | Beschrijving |
|---|---|
| Procesknooppunt | Een thread die een taak uitvoert; bijvoorbeeld, INSERT, UPDATEof DELETE. |
| Resourceknooppunt | Een databaseobject; Bijvoorbeeld een tabel, index of rij. |
| Rand | Een relatie tussen een proces en een resource. Een aanvraagrand treedt op wanneer een proces wacht op een resource. Een edge van een eigenaar treedt op wanneer een resource wacht op een proces. De vergrendelingsmodus is opgenomen in de beschrijving van de rand. Bijvoorbeeld : Modus: X. |
Deadlock-processknooppunt
In een wachtgrafiek bevat het procesknooppunt informatie over het proces. In de volgende tabel worden de onderdelen van een proces uitgelegd.
| Onderdeel | Definitie |
|---|---|
| Serverproces-id | Sessie-id (SPID), een door de server toegewezen id voor het proces dat eigenaar is van de vergrendeling. |
| Serverbatch-id | Serverbatch-id (SBID). |
| Uitvoeringscontext-id | Uitvoeringscontext-id (ECID). De uitvoeringscontext-id van een bepaalde thread die is gekoppeld aan een specifieke sessie-id. ECID = { 0, 1, 2, 3, ... n }, waarbij 0 altijd de hoofd- of bovenliggende thread vertegenwoordigt en { 1, 2, 3, ... n } vertegenwoordigt de subthreads. |
| Deadlock-prioriteit | Impasseprioriteit voor het proces. Zie SET DEADLOCK_PRIORITY voor meer informatie over mogelijke waarden. |
| Logboek gebruikt | Hoeveelheid logboekruimte die door het proces wordt gebruikt. |
| Eigenaar-id | Transactie-ID voor de processen die transacties gebruiken en die momenteel op een slot wachten. |
| Transactieomschrijving | Wijs de aanwijzer naar de transactiedescriptor die de status van de transactie beschrijft. |
| Invoerbuffer | Invoerbuffer van het huidige proces definieert het type gebeurtenis en de instructie die wordt uitgevoerd. Mogelijke waarden zijn onder andere: Taal RPC Geen |
| Verklaring | Type verklaring. Mogelijke waarden zijn: NOP SELECTEREN UPDATE INVOEGEN VERWIJDEREN Onbekend |
Impasse-resourceknooppunt
In een impasse wachten twee processen elk op een hulpbron die in bezit is van het andere proces. In een impassegrafiek worden de resources weergegeven als resourceknooppunten.