Okresy istnienia transakcji
Istnieje ważna różnica uruchomiony w transakcji Transact-SQL procedury przechowywane i tych, które uruchomiono w kodzie zarządzanym: Kod (CLR) w czasie wykonywania języka wspólnego nie unbalance stanu transakcji na wejścia lub wyjścia wywołania środowiska CLR. Należy zwrócić uwagę na następujące implikacje tej różnicy:
Uruchomiona wewnątrz ramki CLR transakcji muszą być zatwierdzone lub wycofywany ponownie lub innym SQL Server generuje błąd, gdy ramki jest zakończony.
Transakcja zewnętrzna nie może być zatwierdzona ani przywracana wewnątrz kodu środowiska CLR.
Podjęto próbę przekazać transakcji nie jest uruchomiona w tej samej procedury powoduje błąd czas wykonania.
Próba przywrócenia transakcja nie jest uruchomiona w tej samej procedury powoduje, że transakcja zawieszenie (zapobieganie wszelkie inne dokonujące strony działania z rzędu).Transakcja zaprzestaje aż kod CLR wykracza poza zakresem.Należy zauważyć, że może to być przydatne podczas wykrył błąd w odpowiedniej procedury i chcesz upewnić się, że cała transakcja zostaje zakończone.
See Also