Toplu iş yürütme ortamı ve MARS
Beginning with Microsoft SQL Server 2005, connections can be enabled to support Multiple Active Result Sets (MARS).Bu bağlantı, bir ilişkili varsayılan toplu iş yürütme ortamı vardır.
Toplu iş yürütme ortamı aşağıdaki bileşenlerden oluşur:
küme seçenek değerleri (ANSI_NULLS DATE_FORMAT, LANGUAGE ve TEXTSIZE dahil)
Güvenlik içeriği (kullanıcı veya uygulama rolü toplu iş yürütme ortamı)
Veritabanı içeriğini (geçerli veritabanı için bir ortam)
Yürütme durumu işlevleri (@@ ERROR @@ ROWCOUNT, @@ FETCH_STATUS ve @@ IDENTITY dahil)
En üst düzey geçici tablolar
Belirli bir bağlantı için yürütme başlatan her yeni toplu iş iş iş, varsayılan ortamında bir kopyasını alır.toplu iş iş işlemi yürüten her yürütme ortamı için yapılan tüm değişiklikler, bu özel toplu iş iş işlemine kapsamına eklenir.Yürütme tamamlandığında, yürütme ayarlarını varsayılan ortamına kopyalanır.Sırayla gerçekleştirilecek birkaç komut veren tek toplu iş iş durumunda, gözlemlenen davranışı, istemcileri veya önceki sürümleri sunucularından ilgili bağlantıları tarafından aynıdır SQL Server.
' Ün önceki sürümlerinde SQL Server tek bir toplu iş verebilir yürütmek oranda süresinin belirtilmiş. Bu nedenle toplu iş ortamına toplu işi tarafından yapılan değişiklikler için sonraki tüm toplu işleri görünür bulunuyordu.
Saklı yordamlar ve işlevler, bağlantı için bir toplu iş için varsayılan ortam varsayılandır ancak Yürütme tamamlandığında, değişikliklerin toplu iş yürütme ortamı için bağlantının varsayılan geri kopyalanır.
Örneğin, iki toplu işlemleri gibi yürütmek varsayalım:
--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
Ayrıca MARS varsayılan yürütme ortamı ile bağlantısı ARITHABORT küme veya KAPALı olarak ayarlamak ve ON ayarlamak ANSI_WARNINGS küme etkinleştirilmiş olduğunu varsayalım.
Her iki toplu iş iş işlemleri aynı anda bağlantı altında gönderilir, bağlantının varsayılan toplu iş iş ortam ayarlarıyla yürütmesini başlatın.Yürütme sırasında toplu iş iş işlemindeki ortam değişiklikleri değişiklikleri diğer toplu iş iş etkilemez emin olmak için ortamlarını kapsamına eklenir.Bir toplu iş yürütme tamamlandığında, bağlantının varsayılan geri elde edilen ortamına kopyalar.Bağlantı için oluşturulan varsayılan ortam yürütme tamamlamak için son toplu iş iş bağlıdır.Bu işlem, yürütüldükten sonraki toplu iş iş tarafından kullanılan ortam olacaktır.