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 Database
Azure SQL Managed Instance
Bijzonderheden
| Attribuut | Waarde | 
|---|---|
| Productnaam | SQL Server | 
| Gebeurtenis-id | 1205 | 
| Gebeurtenisbron | MSSQLSERVER | 
| Bestanddeel | SQLEngine | 
| Symbolische naam | LK_VICTIM | 
| Berichttekst | Transactie (proces-id %d) is vastgelopen op %.*ls-resources met een ander proces en is gekozen als het impasseslachtoffer. Voer de transactie opnieuw uit. | 
Uitleg
Resources worden geopend in conflicterende volgorde voor afzonderlijke transacties, wat een impasse veroorzaakt. Bijvoorbeeld:
- 
              Transaction1updatesTable1.Row1, terwijl Transaction2Table2.Row2
- 
              Transaction1probeertTable2.Row2bij te werken, maar wordt geblokkeerd omdatTransaction2nog niet heeft vastgelegd en de vergrendelingen niet heeft vrijgegeven
- Transaction2 probeert nu Table1.Row1bij te werken, maar wordt geblokkeerd omdatTransaction1niet heeft doorgevoerd en de vergrendelingen niet heeft vrijgegeven
- Er treedt een impasse op omdat Transaction1wacht totTransaction2is voltooid, maarTransaction2wacht totTransaction1is voltooid.
Het systeem detecteert deze impasse en kiest een van de betrokken transacties als slachtoffer. Vervolgens wordt dit foutbericht weergegeven, waarna de transactie van het slachtoffer wordt teruggedraaid. Zie Impassesvoor gedetailleerde informatie.
Gebruikersactie
Impasses zijn in de meeste gevallen problemen met betrekking tot toepassingen en vereisen dat toepassingsontwikkelaars codewijzigingen aanbrengen. Een benadering wanneer u fout 1205 ontvangt, is het opnieuw uitvoeren van de query's. Zie Deadlock Simulator-app voor ontwikkelaars voor meer informatie: Een probleem met een SQL-impasse afhandelen in uw app-.
U kunt de toepassing ook herzien om impasses te voorkomen. De transactie die als slachtoffer is gekozen, kan opnieuw worden geprobeerd en slaagt waarschijnlijk, afhankelijk van welke bewerkingen tegelijkertijd worden uitgevoerd.
Als u impasses wilt voorkomen of voorkomen, kunt u overwegen om alle transacties in dezelfde volgorde te openen (Table1en vervolgens Table2). Op deze manier, hoewel blokkeren kan optreden, wordt een impasse vermeden.
Zie Afhandeling van impasses en Het minimaliseren van impassesvoor meer informatie.