Pourquoi ne sont pas mes déclencheurs de tir lors d'une insertion par SSIS?
J'ai une SSIS tâche de flux de données avec une Destination OLE DB composant qui insère des enregistrements dans une table avec un seuil de déclenchement. Lorsque j'exécute une normale INSERT
déclaration contre ce tableau, le déclencheur est activé. Lorsque j'insère des enregistrements dans la SSIS tâche, le trigger ne se déclenche pas.
Comment puis-je obtenir la gâchette de tir dans SSIS?
Vous devez vous connecter pour publier un commentaire.
Parce que la Destination OLE DB tâche utilise un bulk insert, déclencheurs ne sont pas activés par défaut. De BULK INSERT (MSDN):
On doit spécifier manuellement FIRE_TRIGGERS dans le cadre de l'OLE DB composant par l'intermédiaire de son Éditeur Avancé.
Puis ajouter "FIRE_TRIGGERS" à la valeur de FastLoadOptions (notez que les options sont séparées par des virgules):
Avec cette option à la place, les déclencheurs doivent incendie lors de l'exécution de la tâche.
OLE DB Destination
, si vous avez laKeep nulls
cochée, vos déclencheurs de ne pas me faire virer soit.complétant ladenedge de réponse.
qui est vrai lorsque vous avez le "chargement rapide" option sélectionnée.
Si vous le changer pour un régulier "de la table ou de la vue" mode d'accès aux données, ce qui déclenche votre feu doit normalement car l'insertion se fait ligne par ligne
Vous pouvez le faire sans l'aide de Données SQL Server Outil de Visual Studio en modifiant le dtsx Fichier avec le bloc-notes (ou tout autre éditeur de Texte).
Recherche de la propriété suivante:
et ajouter de la valeur FIRE_TRIGGERS que Diego déjà décrit.