Megosztás a következőn keresztül:


MSSQLSERVER_1205

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Részletek

Attribútum Érték
Terméknév SQL Server
Eseményazonosító 1205
Eseményforrás MSSQLSERVER
Komponens SQLEngine
Szimbolikus név LK_VICTIM
Üzenet szövege A tranzakció (folyamatazonosító %d) holtpontra került %.*ls erőforrásokon egy másik folyamattal, és holtpontként lett kiválasztva. Futtassa újra a tranzakciót.

Magyarázat

Az erőforrások egymásnak ellentmondó sorrendben érhetők el külön tranzakciók esetén, ami holtpontot okoz. Például:

  • Transaction1 frissítések Table1.Row1, míg a Transaction2 Table2.Row2
  • Transaction1 megpróbálja frissíteni a Table2.Row2, de le van tiltva, mert Transaction2 még nem véglegesített, és nem adta ki a zárolásait
  • A Transaction2 most megpróbálja frissíteni Table1.Row1, de le van tiltva, mert Transaction1 nem véglegesített, és nem adta ki a zárolásait
  • A holtpont azért fordul elő, mert Transaction1 a Transaction2 befejezésére vár, de Transaction2 a Transaction1 befejezésére vár.

A rendszer észleli ezt a holtpontot, és kiválasztja az egyik tranzakciót, amely áldozatként. Ezután a hibaüzenetet adja ki, és visszaállítja az áldozat tranzakcióját. További információ: Holtpontok.

Felhasználói művelet

A holtpontok a legtöbb esetben alkalmazással kapcsolatos problémák, és az alkalmazásfejlesztőknek kódmódosításokat kell végrehajtaniuk. Az 1205-ös hiba esetén az egyik módszer a lekérdezések ismételt végrehajtása. További információ: Fejlesztőknek készült Holtpont szimulátor alkalmazás: Sql Deadlock-probléma kezelése az alkalmazásban.

Az alkalmazást a holtpontok elkerülése érdekében is módosíthatja. Az áldozatként kiválasztott tranzakció újrapróbálkozott, és valószínűleg sikeres lesz attól függően, hogy milyen műveleteket hajtanak végre egyszerre.

A holtpontok előfordulásának megakadályozása vagy elkerülése érdekében fontolja meg, hogy az összes tranzakció ugyanabban a sorrendben fér hozzá a sorokhoz (Table1, majd Table2). Így bár blokkolás történhet, a holtpont elkerülhető.

További információ: Holtpontok kezelése és Holtpontok minimalizálása.