MSSQLSERVER_1205
platí pro:SQL ServerAzure SQL Databaseazure SQL Managed Instance
Podrobnosti
Atribut | Hodnota |
---|---|
Název produktu | SQL Server |
ID události | 1205 |
Zdroj událostí | MSSQLSERVER |
Komponenta | SQLEngine |
Symbolický název | LK_VICTIM |
Text zprávy | Transakce (ID procesu %d) byla u %prostředků .*ls s jiným procesem zablokovaná a byla vybrána jako oběť vzájemného zablokování. Znovu spusťte transakci. |
Vysvětlení
Prostředky jsou přístupné v konfliktních pořadí u samostatných transakcí, což způsobuje vzájemné zablokování. Například:
-
Transaction1
aktualizaceTable1.Row1
, zatímco aktualizace Transaction2Table2.Row2
-
Transaction1
se pokusí aktualizovatTable2.Row2
, ale je zablokovaný, protožeTransaction2
zatím nebyly potvrzeny a neuvolnily jeho zámky. - Transaction2 se teď pokouší aktualizovat
Table1.Row1
, ale je blokovaný, protožeTransaction1
nebyl potvrzen a nevyvolal jeho zámky. - K zablokování dochází, protože
Transaction1
čeká na dokončeníTransaction2
, aleTransaction2
čeká na dokončeníTransaction1
.
Systém zjistí toto zablokování a zvolí jednu z transakcí, které jsou součástí oběti. Potom tuto chybovou zprávu vydá a vrátí zpět transakci oběti. Podrobné informace naleznete v tématu zablokování.
Akce uživatele
Zablokování jsou ve většině případů problémy související s aplikací a vyžadují, aby vývojáři aplikací udělali změny kódu. Jedním z přístupů při zobrazení chyby 1205 je opětovné spuštění dotazů. Další informace najdete v tématu aplikace simulátoru vzájemného zablokování pro vývojáře: Jak zpracovat problém se vzájemným zablokováním SQL v aplikaci.
Aplikaci můžete také upravit, abyste se vyhnuli zablokování. Transakce zvolená jako oběť se může opakovat a pravděpodobně proběhne úspěšně v závislosti na tom, jaké operace se provádějí současně.
Chcete-li zabránit zablokování nebo se vyhnout zablokování, zvažte, že všechny transakce přistupují k řádkům ve stejném pořadí (Table1
, pak Table2
). Tímto způsobem se sice může dojít k blokování, ale zablokování se vyhne.
Další informace naleznete v tématu Zpracování zablokování a Minimalizace zablokování.