Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics (serverless SQL pool only)
SQL adatbázis a Microsoft Fabric-ben
Megadja az aktuális munkamenet feldolgozásának relatív fontosságát, ha az holtponton van egy másik munkamenettel.
Transact-SQL szintaxis konvenciók
Syntax
SET DEADLOCK_PRIORITY { LOW | NORMAL | HIGH | <numeric-priority> | @deadlock_var | @deadlock_intvar }
<numeric-priority> ::= { -10 | -9 | -8 | ... | 0 | ... | 8 | 9 | 10 }
Arguments
LOW
Megadja, hogy az aktuális munkamenet holtpont áldozata legyen, ha holtpontban van, és a holtpontláncban részt vevő egyéb munkamenetek holtpont prioritása NORMÁL vagy MAGAS vagy -5-nél nagyobb egész számra van beállítva. Az aktuális munkamenet nem lesz holtpont áldozata, ha a többi munkamenet holtpont prioritása -5-nél kisebb egész számra van beállítva. Azt is megadja, hogy az aktuális munkamenet jogosult a holtpont áldozatává, ha egy másik munkamenet a holtpont prioritását LOW értékre vagy -5-nek megfelelő egész számra állította be.
NORMAL
Azt adja meg, hogy az aktuális munkamenet lesz a holtpont áldozata, ha a holtpontlánc más munkameneteinél a holtpont prioritása MAGAS vagy 0-nál nagyobb egész számra van beállítva, de nem lesz holtpont áldozata, ha a többi munkamenet holtpont prioritása ALACSONY vagy 0-nál kisebb egész számra van beállítva. Azt is megadja, hogy az aktuális munkamenet jogosult a holtpont áldozatává, ha egy másik munkamenet a holtpont prioritását NORMÁL értékre vagy 0-nak megfelelő egész számra állítja be. A NORMAL az alapértelmezett prioritás.
HIGH
Azt adja meg, hogy az aktuális munkamenet lesz a holtpont áldozata, ha a holtpontláncban részt vevő más munkamenetek holtpont prioritása 5-nél nagyobb egész számra van beállítva, vagy jogosult a holtpont áldozatává, ha egy másik munkamenet a holtpont prioritását IS MAGAS értékre vagy 5-nek megfelelő egész számra állította be.
<numerikus prioritás>
Egy egész szám (-10–10) értéktartomány, amely 21 holtpont prioritási szintet biztosít. Azt határozza meg, hogy az aktuális munkamenet lesz a holtpont áldozata, ha a holtpontlánc többi munkamenete magasabb holtpont prioritási értéken fut, de nem lesz holtpont áldozata, ha a többi munkamenet az aktuális munkamenet értékénél alacsonyabb holtpont prioritási értékkel fut. Azt is megadja, hogy az aktuális munkamenet jogosult a holtpont áldozatává, ha egy másik munkamenet holtpont prioritási értékkel fut, amely megegyezik az aktuális munkamenettel. A LOW -5, a NORMAL és a 0, valamint a HIGH–5 értékekre van leképezve.
@ deadlock_var
A holtpont prioritását meghatározó karakterváltozó. A változót "LOW", "NORMAL" vagy "HIGH" értékre kell állítani. A változónak elég nagynak kell lennie a teljes sztring tárolásához.
@ deadlock_intvar
A holtpont prioritását meghatározó egész szám változó. A változót a tartomány egész számának (-10 10-nek) kell beállítania.
Remarks
Holtpontok akkor fordulnak elő, ha két munkamenet várja a másik által zárolt erőforrásokhoz való hozzáférést. Amikor az SQL Server egy példánya észleli, hogy két munkamenet holtponton van, a holtpontot úgy oldja fel, hogy az egyik munkamenetet holtpont-áldozatként választja ki. A rendszer visszaállítja az áldozat aktuális tranzakcióját, és az 1205-ös holtpont hibaüzenetet adja vissza az ügyfélnek. Ez felszabadítja az adott munkamenet által tárolt összes zárolást, így a másik munkamenet folytathatja a műveletet.
A holtpont áldozataként választott munkamenet az egyes munkamenetek holtpont prioritásától függ:
Ha mindkét munkamenet azonos holtpont-prioritással rendelkezik, az SQL Server példánya azt a munkamenetet választja ki, amely kevésbé költséges a holtpont áldozataként való visszaállításhoz. Ha például mindkét munkamenet MAGAS értékűre állítja a holtpont prioritását, a példány áldozatként választja ki azt a munkamenetet, amelyet becslése szerint kevésbé költséges visszadobni. A költségeket az egyes tranzakciók adott pontjára írt naplóbájtok számának összehasonlítása határozza meg. (Ezt az értéket holtpontdiagramon "Napló használt" értékként tekintheti meg).
Ha a munkamenetek eltérő holtpont-prioritással rendelkeznek, a legalacsonyabb holtpont prioritású munkamenet lesz a holtpont áldozata.
A SET DEADLOCK_PRIORITY végrehajtáskor vagy futtatáskor van beállítva, és nem elemzési időpontban.
Ez a szintaxis az Azure Synapse Analytics dedikált SQL-készleteiben nem támogatott. Az Azure Synapse Analytics kiszolgáló nélküli SQL-készleteiben is támogatott.
Permissions
A nyilvános szerepkör tagságát igényli.
Examples
Az alábbi példa egy változót használ a holtpont prioritásának beállításához LOW.
DECLARE @deadlock_var NCHAR(3);
SET @deadlock_var = N'LOW';
SET DEADLOCK_PRIORITY @deadlock_var;
GO
Az alábbi példa a holtpont prioritását állítja be .NORMAL
SET DEADLOCK_PRIORITY NORMAL;
GO