Δεν υπάρχει λόγος να γίνει κάτι τόσο περίπλοκο. Η δυνατότητα ενεργοποίησης/απενεργοποίησης των trigger κατά τη διάρκεια ενός import υπάρχει, απλά δεν εμφανίζεται στον Data Import Wizard (χαζόοοοοοοο) και είναι default off. Πιθανώς, κάποιοι θεωρήσαν ότι είναι κακή ιδέα να τρέχουν τα triggers κατά τη διάρκεια ενός import. Όχι ότι έχουν άδικο, αλλά καλό θα ήταν να μπορούμε να αλλάξουμε την επιλογή.
Αυτό που κάνει στην ουσία ο Data Import Wizard είναι να δημιουργεί ένα πακέτο SSIS το οποίο περιέχει ένα Data Import Task και να το εκτελεί. Στις ρυθμίσεις του Data Import Task υπάρχει και η επιλογή "Fire Triggers". Αυτό που μπορείς να κάνεις είναι αντί να εκτελέσεις το πακέτο που φτιάχνει ο Data Import Wizard, να το αποθηκεύσεις και να το ανοίξεις. Ενεργοποιείς το "Fire Triggers" και είσαι εντάξει.
Θα πρέπει πάντως να έχεις υπόψη ότι η χρήση Import και triggers είναι αρκετά αργή λύση, ενώ δεν σου επιτρέπει να χειριστείς και πιθανά λάθη. Ο λόγος είναι ότι τα triggers πρέπει να τρέξουν για κάθε γραμμή που εισάγεις στους πίνακες, καθυστερώντας τη διαδικασία του import. Καλύτερα θα ήταν να φτιάξεις ένα πακέτο SSIS το οποίο θα εισάγει όλες τις εγγραφές στους πίνακες που θέλεις και μετά θα εκτελεί τα scripts που θα ήθελες σε ολόκληρους τους πίνακες, όχι σε μία-μία εγγραφή. Η διαφορά ταχύτητας μπορεί να είναι δραματική.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos