Aracılığıyla paylaş


Tetikleyici yürütme toplu olduğunda veri alma denetleme

A Tetikleyici özel bir kullanıcı tablo veya görünümü veri değiştirildiğinde otomatik olarak çalıştırılan saklı yordam biçimidir.Tetikleyici yürütme toplu alma işleminin performansını etkileyebilir.Örneğin, e-posta iletisine bir kaydı her saat alındığından gönderen Tetik hızını azaltır bir toplu alma , işlem ve e-postanın bir flurry oluşturur.

Toplu olduğunda veri alma, Tetikleyiciler yürütülür olup olmadığını denetleyebilirsiniz (harekete) bulk Import işlemi tarafından.Bir toplu alma işlemi için gereken yürütmek yalnızca Tablo Ekle ve birden çok satır ekler destekleyen Tetikleyiciler INSTEAD OF tetikleyicileri.Bu tetikleyiciler hakkında daha fazla bilgi için bkz: dml Tetikleyicileri.

Önemli notÖnemli

Tetikleyiciler devre dışı bırakıldığında bir şemada değişiklik kilit meta veriler güncelleştirmek için alınmış.Bu, diğer komutları (örneğin, bir çevrimiçi dizin yapı) veya işlemleri etkileyebilir.Örneğin, bir anlık görüntü yalıtım hareket erişme hedef tablo eşzamanlı ddl değişiklikleri nedeniyle başarısız.

Tetikleyiciler etkinleştirilirse, her toplu iş iş iş için bir kez çalıştırılır.

Bir toplu alma işlemi sırasında işlem için kullanılan komut davranışını bağlıdır.Varsayılan olarak, bcp komutu ve bulk INSERT (Transact-SQL) devre dışı deyim Tetikleyiciler.Buna karşılık, INSERT için...SEÇİN * varsayılan gelen openrowset(bulk...) deyim, yürütmek tetikler.

Aşağıdaki tablo varsayılan davranışını özetler.

Toplu alma komutu

Varsayılan davranış

BCP

Tetikleyiciler devre dışı bırakma

BULK INSERT

Tetikleyiciler devre dışı bırakma

EKLE...SEÇİN * OPENROWSET(BULK...) DAN

Tetikleyiciler yürütme

Her toplu alma komutları, Tetikleyiciler işlenme, aşağıdaki bölümlerde açıklandığı gibi değiştirmenize izin verir niteleyici sağlar.

Bcp veya bulk INSERT Tetikleyiciler yürütme

Varsayılan olarak, bcp komutu ve bulk INSERT deyim değil yürütmek tetikler.Ancak, Tetikleyiciler aşağıdaki niteleyicileri kullanarak etkinleştirebilirsiniz:

Komutu

Niteleyici

Niteleyici türü

BCP

-h"FIRE_TRIGGERS"

İpucu

BULK INSERT

FIRE_TRIGGERS

Bağımsız değişken

Bir toplu alma işlemi için FIRE_TRIGGERS belirtilmezse, tablo tabloya eklenen tüm satırlar için tanımlanan ekleme ve INSTEAD of tetikleyicileri yürütür.

Daha fazla bilgi için bkz: bcp Yardımcı Programı ve BULK INSERT (Transact-SQL).

Tümcesinde, INSERT tetikleyiciler devre dışı bırakılıyor...SEÇİN * OPENROWSET(BULK...) DAN

Varsayılan olarak, openrowset toplu satır kümesi sağlayıcı Tetikleyiciler yürütülür.Tetikleyiciler aşağıdaki niteleyici kullanarak devre dışı bırakabilirsiniz:

Komutu

Niteleyici

Niteleyici türü

EKLE...SEÇİN * OPENROWSET(BULK...) DAN

WITH(IGNORE_TRIGGERS)

Tablo İpucu

Bu ipucu belirttiyseniz, Tetikleyiciler openrowset toplu satır kümesi sağlayıcı tarafından yürütülür.IGNORE_TRIGGERS ipucu hakkında daha fazla bilgi için bkz: Tablo İpuçları (Transact-SQL).

Etkin Tetikleyiciler ile büyük toplu alma

SQL Server 2005ve sonraki sürümlerinde satır sürüm oluşturma Tetikleyiciler ve satır sürümleri Sürüm deposundaki depoları için tempdb.Önce toplu iş iş alma büyük bir toplu iş iş tetikleyicileri kullanarak veri kayıtlarının boyutunu genişletmeniz gerekebilir tempdb sürüm deposu üzerinde tetikleyici etkisini dengelemek için.Daha fazla bilgi için bkz: Satır sürüm oluşturma kaynak kullanımı.