Udostępnij za pośrednictwem


Promocja transakcji

Transakcja promocyjne opisuje lekka, lokalne transakcji, która może być automatycznie podwyższony do transakcji pełni dystrybucyjne stosownie do potrzeb.Gdy zarządzanych procedura przechowywana jest wywoływana w obrębie transakcji bazy danych na serwerze, wspólny kod języka (CLR) w czasie wykonywania jest uruchamiane w kontekście transakcji lokalnej.Jeśli połączenie z serwerem zdalnym zostanie otwarty w obrębie transakcji bazy danych, połączenie z serwerem zdalnym uczestniczy w transakcja rozproszona i transakcji lokalnej, zostanie automatycznie podwyższony do transakcja rozproszona.Tak promocji transakcji minimalizuje obciążenie związane z transakcja rozproszona opóźniając utworzenia transakcja rozproszona, dopóki jest potrzebne.Promocji transakcji odbywa się automatycznie, jeśli zostało włączone, przy użyciu Enlist słowo kluczowe i nie wymaga interwencji od projektanta. .NET Framework Data dostawca dla SQL Server zapewnia obsługę transakcji promocji, obsługiwane przez klasy programu .NET Framework System.Data.SqlClient obszar nazw.

Zarejestrować słowa kluczowego

The ConnectionString właściwość of a SqlConnection object supports the Enlist keyword, which indicates whether System.Data.SqlClient detects transactional contexts and automatically enlists the connection in a transakcja rozproszona. Jeśli jest to słowo kluczowe zestaw wartość true (ustawienie domyślne), połączenie jest automatycznie zarejestrowany w bieżący kontekst transakcji otwarcia wątek.Jeśli jest to słowo kluczowe zestaw na wartość false, połączenie klient SQL nie współdziała z transakcja rozproszona.Jeśli Enlist nie określono w ciąg połączenia połączenie automatycznie jest zarejestrowany w transakcja rozproszona po wykryciu jednego w momencie otwierania połączenia.

Transakcji rozproszonych

Transakcje rozproszone zajmują zazwyczaj zasoby znaczące systemu.Microsoft Koordynator transakcja rozproszona (MS DTC) zarządza takich transakcji i integruje wszystkie dostępne w tych transakcjach menedżerów zasób.Promocja transakcji z drugiej strony jest specjalny rodzaj System.Transactions transakcji, które skutecznie deleguje pracy do prostej SQL Server transakcja. System.Transactions, System.Data.SqlClient, a SQL Server koordynowanie pracy związanych z obsługi transakcji, promowanie do pełnego transakcja rozproszona w razie potrzeby.

Za pomocą transakcji promocji zaletą jest to, kiedy połączenie zostanie otwarty z aktywnego TransactionScope transakcja i połączenia nie są otwarte, przekazywania transakcji, jak lekka transakcji, a nie ponoszenia dodatkowe obciążenie związane z pełną transakcja rozproszona. Aby uzyskać więcej informacji na temat TransactionScope, zobacz Za pomocą System.Transactions.