Přihlásit se pomocí účtu Microsoft
Přihlaste se nebo si vytvořte účet.
Dobrý den,
Vyberte jiný účet.
Máte více účtů.
Zvolte účet, pomocí kterého se chcete přihlásit.

Příznaky

Při použití transakce XA, Microsoft SQL Server rozhraní JDBC ovladače a Microsoft SQL Server jako back-end databáze, osamocené je může správce transakce dojde k selhání nebo problém s připojením-li čekající transakce na serveru SQL Server.

Dále může vyskytnout některý z následujících běžných příznaků:

  • Jsou transakce čekající na instanci serveru SQL Server po dlouhou dobu. Mohou mít buď hodnotu null , nebo -2 ID relace v databázi.

  • Transakce jsou blokovány dlouho transakce, který obsahuje identifikátor relace s -2 . To způsobí, že časový limit uzamčení nebo k zablokování podprocesů.

Příčina

Pokud dojde ke ztrátě neupravený transakce připojení mezi správce transakcí a SQL Server, potom JDBC ovladače SQL Server neprovádí vyčištění tyto transakce a může nadále používat prostředky a blokovat ostatní transakce. Z důvodu provádění XA JDBC ovladače SQL Server SQL Server nemůže rozpoznat abnormální odpojení správci transakcí. Proto pro SQL Server, tyto transakce zůstat v systému až do vypršení časového limitu transakce XA nebo restartování databáze. Časový limit na instanci serveru SQL Server používá nekonečna a nenastavuje v databázi.

Jak potíže obejít

Chcete-li tento problém vyřešit, použijte jednu z následujících metod:

  • Restartujte server databáze při dochází k zhroucení všech Java Virtual Machine (JVM) nebo připojení k síti problémy, jejichž výsledkem jsou tyto osamocené transakce.

  • Jednotlivě ukončete osamocené transakce databáze za účelem vyčištění jejich prostředků. Chcete-li ověřit, že je osamocené transakce, ujistěte se, že není v pochybnost (připraven) transakce nebo takový, který právě dokončuje. Všechny transakce, které bude trvat do restartování související JVM a úspěšné obnovení cyklu by osamocené.

  • Nastavte hodnotu časového limitu transakcí protokolu XA, která je delší než nejdelší přinutit, aby zastavit, jakmile je překročena hodnota časového limitu transakce. To lze provést voláním metody XAResource.setTransactionTimeout() .

  • Objekt XAResource není volající kód přístup přímo mnoho správců transakcí jiných výrobců, a správce transakcí není nastavení časového limitu transakce. V tomto případě externí aplikace lze nastavit novou výchozí hodnotu časového limitu transakce. Toto nové výchozí nastavení bude použit jinými transakcemi, které nemají zadán časový limit transakce.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?

Děkujeme vám za zpětnou vazbu.

×