I have an SSIS data flow task with an OLE DB Destination component that inserts records into a table with a trigger. When I execute a normal INSERT
statement against this table, the trigger fires. When I insert records through the SSIS task the trigger does not fire.
How can I get the trigger firing in SSIS?
You can do this without using SQL Server Data Tool for Visual Studio by editing the dtsx File with Notepad (or any other Text editors).
Search for the following property:
and add the value FIRE_TRIGGERS as Diego already described.
complementing ladenedge's answer.
that is true when you have the "fast load" option selected.
If you change it to a regular "table or view" data access mode, your triggers should fire normally because the insert is done row-by-row
Because the OLE DB Destination task uses a bulk insert, triggers are not fired by default. From BULK INSERT (MSDN):
One must manually specify FIRE_TRIGGERS as part of the OLE DB component through its Advanced Editor.
Then add "FIRE_TRIGGERS" to the value of FastLoadOptions (note that options are comma-separated):
With that option in place, the triggers should fire during the task's execution.