Aracılığıyla paylaş


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ılar 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:

  • set seçenek değerleri (ANSI_NULLS, date_format, dil ve metin BOYUTU da dahil olmak üzere)

  • Güvenlik içeriği (kullanıcı veya uygulama rolü için toplu iş yürütme ortamı)

  • Veritabanı içerik (ortamı için geçerli veritabanı)

  • Yürütme durumu işlevler (@@ error @@ rowcount, @@ fetch_status ve @@ IDENTITY dahil)

  • Üst düzey geçici tablolar

Belirli bir bağlantı için yürütülen başlayan her yeni bir toplu iş iş işlemi varsayılan ortam kopyasını alır.Toplu yürütür her için bu özel toplu iş yürütme ortamı için yapılan tüm değişiklikler kapsamına eklenir.Yürütme tamamlandığında, yürütme ayarlarını varsayılan ortamına kopyalanır.De durum ardışık olarak yürütülmek üzere birkaç komut veren tek bir toplu iş, gözlenen davranış istemcileriniz veya sunucularınız önceki sürümlerdeki ilgili bağlantıları tarafından kullanıma sunulan aynıdır SQL Server.

Önceki sürümlerinde SQL Server yalnızca bir toplu iş yürütmek sırasında verilen hiçbir saat.Bu nedenle toplu iş ortamına bir toplu işi tarafından yapılan değişiklikler için sonraki toplu işlemleri görünür.

Saklı yordamları ve işlevleri için bağlantı için bir toplu iş için varsayılan ortam varsayılandır ancak yürütme tamamlandığında değişiklikleri toplu iş yürütme ortamı için bağlantının varsayılan geri kopyalanmaz.

Örneğin, iki toplu işlemleri gibi yürütmek varsayılmaktadır:

--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ı için küme ARITHABORT kapalı ve küme ANSI_WARNINGS on olarak küme olan etkin olduğunu varsayalım.

Her iki toplu iş iş işlemleri aynı anda bağlantı altında gönderilmişse bağlantının varsayılan toplu iş iş ortam ayarlarıyla yürütmesini başlatın.Yürütme sırasında ortamlarına ortam değişiklikleri tek bir toplu iş iş bir toplu iş iş değişiklikleri etkilemez emin olmak için belirlenmektedir.Bir toplu iş yürütme tamamlandığında, bağlantının varsayılan değere geri ortaya çıkan ortam kopyalar.Bağlantı için elde edilen varsayılan ortam yürütme tamamlamak için son toplu iş iş bağlıdır.Bu yürütülen sonraki toplu iş tarafından kullanılan ortamı olacaktır.