Przeprowadzanie transakcji MTS

Administrator transakcji MTS czasami staje przed konieczno£ci╣ rΩcznego przeprowadzenia transakcji dla pewnej aplikacji MTS. Do przeprowadzania transakcji s│u┐y okno Lista transakcji programu MTS Explorer. W oknie tym mo┐na wybraµ jedno z nastΩpuj╣cych polece±:

Czasami zachodzi konieczno£µ przekazania lub przerwania transakcji w celu zwolnienia blokad, a tym samym udostΩpnienia zasob≤w bazy danych innym aplikacjom i u┐ytkownikom sieci.

Sytuacja taka mo┐e wyst╣piµ na przyk│ad w wyniku przerwania linii komunikacyjnej miΩdzy dwoma komputerami w sieci. Po rΩcznym przekazaniu lub przerwaniu transakcji czΩsto nale┐y r≤wnie┐ wymusiµ "zapomnienie" transakcji, co oznacza jej usuniΩcie z lokalnego pliku dziennika us│ugi MS DTC.

Rozwa┐my przyk│ad rΩcznego przerwania transakcji. Za│≤┐my, ┐e spe│nione zosta│y nastΩpuj╣ce warunki:

Transakcja zosta│a przerwana w nastΩpuj╣cym stanie:

Poniewa┐ linia komunikacyjna miΩdzy komputerami A i B jest nadal nienaruszona, komputer B przekaza│ transakcjΩ. Niemniej jednak, obydwa komputery musz╣ zachowaµ w swoich plikach dziennik≤w rekordy COMMITTED, a┐ do momentu kiedy komputery C i D potwierdz╣, ┐e r≤wnie┐ przekaza│y transakcjΩ. Aby przeprowadziµ transakcjΩ (a tym samym zwolniµ blokady baz danych na│o┐one na komputery C i D), administrator systemu wymusza przekazanie transakcji przez komputer C (zobacz nastΩpny rysunek).

Poniewa┐ linia komunikacyjna miΩdzy komputerami A i B jest nadal nienaruszona, przekazanie transakcji wymuszone na komputerze C pozwala przekazaµ transakcjΩ komputerowi D. Na komputerze D mo┐e zostaµ zwolniona blokada bazy danych, a transakcja mo┐e zostaµ zapomniana. Kiedy komputer D wy£le do komputera C potwierdzenie o przekazaniu i zapomnieniu transakcji, na komputerze C r≤wnie┐ bΩdzie mo┐na zwolniµ blokady bazy danych i zapomnieµ transakcjΩ.

TransakcjΩ przekazano do wszystkich komputer≤w. Tym niemniej, poniewa┐ komputer C nie mo┐e poinformowaµ o przekazaniu relacji komputera B, komputer B nadal musi pamiΩtaµ transakcjΩ. Poniewa┐ na komputerze B transakcja nie zosta│a zapomniana, komputer A r≤wnie┐ musi j╣ pamiΩtaµ. Aby zako±czyµ transakcjΩ, administrator systemu zmusza komputer B do zapomnienia transakcji (zobacz nastΩpny rysunek). To z kolei pozwala zapomnieµ transakcjΩ na komputerze A. W ten spos≤b protok≤│ dwufazowego przekazu zosta│ wykonany rΩcznie, a transakcja zako±czona.

Wa┐ne Z powodu dwustronno£ci komunikacji opartej na protokole dwufazowego przekazu zaleca siΩ przeprowadzaµ transakcje rΩcznie, je£li tylko komputery nastΩpuj╣ce po sobie przerw╣ komunikacjΩ. W opisanym przyk│adzie przekaz nale┐a│o wymusiµ na komputerze C (nie D), a zapomnienie transakcji na komputerze B (nie A).

Je£li po awarii systemu lub po│╣czenia systemy uczestnicz╣ce w transakcji zostan╣ uruchomione ponownie, a po│╣czenia przywr≤cone, us│uga MS DTC przeprowadza transakcje automatycznie. Us│uga nie jest w stanie przeprowadziµ transakcji, je£li systemy uleg│y awarii, a po│╣czenia nie zosta│y przywr≤cone. W takim wypadku nale┐y rΩcznie przeprowadziµ transakcje, kt≤re znajduj╣ siΩ w stanach: "W╣tpliwa", "Nie mo┐na powiadomiµ o przerwaniu", "Nie mo┐na powiadomiµ o przekazaniu".

Stan "W╣tpliwa"

Stan w╣tpliwa odnosi siΩ do sytuacji, kiedy transakcja jest transakcj╣ podrzΩdn╣, us│uga MS DTC jest przygotowana, a nadrzΩdna us│uga MS DTC jest niedostΩpna. Aby przeprowadziµ transakcjΩ w╣tpliw╣, wykonaj nastΩpuj╣ce kroki:

  1. W oknie Lista transakcji odszukaj bezpo£redni╣ transakcjΩ nadrzΩdn╣ transakcji w╣tpliwej. W tym celu kliknij prawym przyciskiem myszy i wybierz polecenie W│a£ciwo£ci. W jego efekcie zostan╣ wy£wietlone komputery nadrzΩdnej us│ugi MS DTC i podrzΩdnej us│ugi MS DTC, przygotowane do transakcji.

  2. Odszukaj nadrzΩdn╣ us│ugΩ MS DTC, a nastΩpnie w oknie Lista transakcji wyznacz wynik transakcji w╣tpliwej.
    • Je£li transakcja nie jest wy£wietlana w oknie Lista transakcji, oznacza to, ┐e transakcja zosta│a przerwana i mo┐esz przerwaµ j╣ rΩcznie na komputerze podrzΩdnym.

    • Je£li transakcja jest oznaczona na komputerze podrzΩdnym jako "Nie mo┐na powiadomiµ o przekazaniu", oznacza to, ┐e transakcja zosta│a przekazana i mo┐esz przekazaµ j╣ rΩcznie na komputerze podrzΩdnym.

    • Je£li transakcja jest oznaczona na komputerze podrzΩdnym jako "Nie mo┐na powiadomiµ o przerwaniu", oznacza to, ┐e transakcja zosta│a przerwana i mo┐esz przerwaµ j╣ rΩcznie na komputerze podrzΩdnym.

    • Je£li transakcja jest oznaczona na komputerze nadrzΩdnym jako "W╣tpliwa", musisz, w oknie Lista transakcji na komputerze nadrzΩdnym, odszukaµ nastΩpny bezpo£redni komputer nadrzΩdny. Kontynuuj przeszukiwanie drzewa przekazywania, a┐ do momentu znalezienia komputera nadrzΩdnego, w kt≤rym transakcja jest albo nie wy£wietlana (co oznacza, ┐e jest przerwana), albo znajduje siΩ w stanie "Nie mo┐na powiadomiµ o przerwaniu" (co oznacza, ┐e jest przerwana), albo znajduje siΩ w stanie "Nie mo┐na powiadomiµ o przekazaniu" (co oznacza, ┐e jest przekazana). Je£li na komputerze nadrzΩdnym transakcja jest przerwana, rΩcznie wymu£ jej przerwanie w bezpo£rednim komputerze podrzΩdnym. Je£li na komputerze nadrzΩdnym transakcja jest przekazana, rΩcznie wymu£ jej przekazanie w bezpo£rednim komputerze podrzΩdnym.
  3. Po rΩcznym przerwaniu lub przekazaniu transakcji na komputerze podrzΩdnym rΩcznie wymu£ jej zapomnienie w bezpo£rednim komputerze nadrzΩdnym.

Stan "Nie mo┐na powiadomiµ o przekazaniu"

Stan "Nie mo┐na powiadomiµ o przekazaniu" oznacza, ┐e transakcja zosta│a przekazana, ale niekt≤re podrzΩdne us│ugi MS DTC nie zosta│y o tym powiadomione. W takim wypadku nale┐y przeprowadziµ transakcjΩ rΩcznie. Po pierwsze, nale┐y klikn╣µ transakcjΩ prawym przyciskiem myszy. Zostan╣ w≤wczas wy£wietlone nadrzΩdne i podrzΩdne us│ugi MS DTC transakcji. Po zlokalizowaniu podrzΩdnych us│ug MS DTC nale┐y w ka┐dej z nich wymusiµ przekazanie transakcji. Na sam koniec nale┐y powr≤ciµ do us│ugi MS DTC, kt≤ra pokazywa│a transakcjΩ w stanie "Nie mo┐na powiadomiµ o przekazaniu" i wymusiµ zapomnienie transakcji.

Notka Nie nale┐y wymuszaµ rΩcznie zapominania transakcji, dop≤ki o wyniku transakcji nie zostan╣ powiadomione wszystkie podrzΩdne us│ugi MS DTC.

Stan "Nie mo┐na powiadomiµ o przerwaniu"

Stan "Nie mo┐na powiadomiµ o przerwaniu" oznacza, ┐e transakcja zosta│a przerwana, ale niekt≤re podrzΩdne us│ugi MS DTC nie zosta│y o tym powiadomione. Stan ten jest to┐samy ze stanem "Przerywana". Aby przeprowadziµ transakcjΩ rΩcznie, nale┐y wykonaµ nastΩpuj╣ce kroki. Po pierwsze, nale┐y klikn╣µ transakcjΩ prawym przyciskiem myszy. Zostan╣ w≤wczas wy£wietlone nadrzΩdne i podrzΩdne us│ugi MS DTC transakcji. Po zlokalizowaniu podrzΩdnych us│ug MS DTC nale┐y w ka┐dej z nich wymusiµ przerwanie transakcji. Na sam koniec nale┐y powr≤ciµ do us│ugi MS DTC, kt≤ra pokazywa│a transakcjΩ w stanie "Nie mo┐na powiadomiµ o przerwaniu" i wymusiµ zapomnienie transakcji.

Notka Nie nale┐y wymuszaµ rΩcznie zapominania transakcji, dop≤ki o wyniku transakcji nie zostan╣ powiadomione wszystkie podrzΩdne us│ugi MS DTC.

Aby przeprowaadziµ transakcjΩ

  1. W lewym okienku programu MTS Explorer zaznacz komputer, na kt≤rym chcesz przeprowadziµ transakcjΩ.

  2. Kliknij dwukrotnie ikonΩ Lista transakcji.

  3. W prawym okienku kliknij prawym przyciskiem myszy nad transakcj╣, kt≤r╣ chcesz przeprowadziµ.

  4. W podmenu Przeprowadƒ kliknij polecenie Przeka┐, Przerwij lub Zapomnij.

Zobacz te┐

Podstawowe informacje o transakcjach MTS, Zarz╣dzanie us│ug╣ MS DTC, Monitorowanie transakcji MTS, Monitorowanie transakcji MTS w systemie Windows 95, Podstawowe informacje o stanach transakcji MTS, Lista transakcji


© 1998 Microsoft Corporation. Wszelkie prawa zastrze┐one.