Aracılığıyla paylaş


Harekete geçirici yürütme, veri alma, toplu denetleme

C Tetikleyici , bir kullanıcı veri bir tablo veya görünümü değiştirir, otomatik olarak yürütülür saklı yordam özel bir biçimidir.Tetikleyicileri yürütme, toplu alma işleminin performansı etkileyebilir.Örneğin, bir kayıt içe her saat bir toplu hızını azaltır e-posta iletisi olarak gönderen bir tetikleyici işlem alma ve bir e-posta flurry oluşturur.

Toplu, veri alma, Tetikleyicileri yürütülen (denetleyebilirsinizharekete geçirildi) Toplu alma işlemi tarafından.Bir toplu alma işlemi için gereken yürütmek yalnızca bir tablo için INSERT ve birden çok satır ekler destekleyen Tetikleyicileri ıNSTEAD OF tetikleri.Bu tetikleyiciler hakkında daha fazla bilgi için bkz: DML Tetikleyicileri.

Important noteImportant Note:

Tetikleyici devre dışı bırakıldığında, kilit bir şemada değişiklik meta veriler güncelleştirmek için alınmış.Diğer (örneğin, bir çevrimiçi Dizin Oluþturma) komutları veya işlemleri etkileyebilir.Hedef erişme gibi bir anlık görüntü yalıtım hareket tablo eşzamanlı DDL değişikliklerinden dolayı başarısız olabilir.

Tetikleyici etkinleştirildiğinde, her toplu iş iş iş için bir kez çalıştırılır.

Toplu alma işlemi sırasında işlem için kullanılan komut davranış bağlıdır.Varsayılan olarak, Kullanımıbcp komut ve BULK INSERT (Transact-SQL) deyim, tetikleyiciler devre dışı bırakın. Buna ek olarak, INSERT için...SELECT * FROM OPENROWSET(BULK...) bildirimi için varsayılandır yürütmek tetikler.

Aşağıdaki tabloda, varsayılan davranış özetler.

Toplu alma komutu

Varsayılan davranışı

Kullanımıbcp

Tetikleyici devre dışı bırakma

TOPLU EKLEME

Tetikleyici devre dışı bırakma

EKLE...SEÇİN * openrowset(bulk...) GELEN

Tetikleyicileri yürütmek

Toplu alma komutları Tetikleyicileri nasıl işlendiğini, aşağıdaki bölümlerde açıklandığı gibi değiştirmenize olanak veren bir niteleyiciyi sağlar.

Tetikleyicileri Kullanımıbcp veya BULK INSERT yürütülüyor

Varsayılan olarak, Kullanımıbcp komut ve BULK INSERT deyim Tetikleyicileri yürütün.Ancak, Tetikleyicileri aşağıdaki niteleyicileri kullanarak etkinleştirebilirsiniz:

Komutu

Niteleyici

Niteleyici türü

Kullanımıbcp

-h"FIRE_TRIGGERS"

Ipucu

TOPLU EKLEME

fire_triggers

Bağımsız değişken

Bir toplu alma işlemi için FIRE_TRIGGERS belirtilirse, bu tabloya eklenen tüm satırlar için tablo için tanımlanmış olan Ekle ve INSTEAD OF tetikleri yürütür.

Daha fazla bilgi için bkz: Kullanımıbcp yardımcı programı ve BULK INSERT (Transact-SQL).

Devre dışı bırakma Tetikleyicileri, INSERT...SEÇİN * openrowset(bulk...) GELEN

Varsayılan olarak, satır kümesi sağlayıcı OPENROWSET toplu Tetikleyicileri yürütür.Tetikleyicileri aşağıdaki niteleyici kullanılarak devre dışı bırakabilirsiniz:

Komutu

Niteleyici

Niteleyici türü

EKLE...SEÇİN * openrowset(bulk...) GELEN

with(ignore_triggers)

Tablo ipucu

Bu ipucu belirtilirse, OPENROWSET toplu satır kümesi sağlayıcı tarafından Tetikleyicileri yürütülemeyen.ıgnore_trıggers ipucu hakkında daha fazla bilgi için bkz: Tablo ipuçları (Transact-SQL).

Tetikleyicileri etkin olan büyük toplu işlemleri alınıyor

SQL Server 2005 ve sonraki sürümlerinde satır sürümü için tetikleyici kullanın ve satır sürümleri sürüm deposunda saklar tempdb.Yığın önce veri kayıtlarını tetikleyicilerini kullanarak büyük toplu iş iş alma, bir boyutunu genişletmek gerekir tempdb Tetikleyiciler sürüm deposu üzerindeki etkisini uyması için.Daha fazla bilgi için bkz:Satır güncelleştirme kaynak kullanımı.