Środowisko wykonawcze partii i MARS

Beginning with Microsoft SQL Server 2005, connections can be enabled to support Multiple Active Result Sets (MARS).Połączenia te mają skojarzone domyślne środowisko wykonanie partia.

Środowisko wykonawcze partia składa się z następujących składników:

  • Ustaw wartości opcji (w tym ANSI_NULLS, DATE_FORMAT, język i TEXTSIZE)

  • Kontekst zabezpieczeń (użytkownika lub rola aplikacji dla środowiska wykonywanie partia)

  • Kontekstu bazy danych (bieżącej bazy danych dla środowiska)

  • Stan wykonywania funkcji (w tym @@ błąd, @@ ROWCOUNT, @@ FETCH_STATUS i @@ IDENTITY)

  • Tabele tymczasowe najwyższego poziom

Każdej nowej partia, który rozpoczyna wykonywanie dla określonego połączenia otrzymuje kopię domyślne środowisko.W każdym przypadku, gdy wykonuje partia, wszystkie zmiany wprowadzone do środowiska wykonania są obejmuje zasięgiem określonej partia.Po ukończeniu wykonywania ustawienia wykonanie są kopiowane do domyślnego środowiska.przypadek pojedynczej partia wydawania kilku poleceń do wykonania sekwencyjnie, obserwowane zachowanie jest taka sama, jak udostępniane przez połączenia klientów lub serwerów z poprzednich wersji SQL Server.

W poprzednich wersjach SQL Server wykonać tylko jedną partię w dowolnym podane czas.Dlatego zmiany wprowadzone do środowiska partia przez partię były widoczne dla wszystkich następnych partia.

Domyślne środowisko dla partia jest domyślne dla połączenia procedur przechowywanych i funkcji, ale po zakończeniu wykonywania zmiany nie są kopiowane do partia środowisko połączenia domyślnego.

Załóżmy na przykład, następujący wykonać dwie partie:

--First Batch
SET ARITHABORT ON
SET ANSI_WARNINGS ON
SELECT 1/0
GO
--Second Batch
SET ARITHABORT OFF
SET ANSI_WARNINGS OFF
SELECT 1/0
GO

Przyjęto także MARS jest włączona dla połączenia z domyślne środowisko, z zestaw ARITHABORT zestaw do OFF i zestaw ANSI_WARNINGS zestaw on.

Jeśli oba instancje są przesłane jednocześnie w obszarze połączenie, zaczynają wykonanie ustawienia połączenia domyślne środowisko partia.W czasie wykonywania swoich środowiskach zakresu są do zapewnienia, że zmiany środowiska w jednej partia nie wpływają na zmiany w innych partia.Po zakończeniu wykonywania partia kopiuje wstecz wynikowy środowiska do połączenia domyślnego.Wynikowy domyślne środowisko dla połączenia zależy od ostatniej partia całkowitego wykonania.Będzie to środowisko używane przez następnej partia, która jest wykonywana.