Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

SQL SERVER 2005 - how to send mail after an erron of a dts' step

Îåêßíçóå áðü ôï ìÝëïò girl_freak. Τελευταία δημοσίευση από το μέλος KelMan στις 18-05-2007, 12:00. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  17-05-2007, 14:51 31885

    Sad [:(] SQL SERVER 2005 - how to send mail after an erron of a dts' step

    Έχω φτιάξει ένα dts σε SQL Server 2005, το οποίο κάθε μέρα τρέχει μέσω ενός job και ενημερώνει την βάση μου παίρνοντας στοιχεία από μια Oracle βάση.Stick out tongue

    Θέλω να δημιουργήσω μετά από κάθε step ένα activeX βήμα, το οποίο θα τρέχει σε περίπτωση failure του κάθε βήματος, και θέλω να στέλνει ένα mail το οποίο απλά θα επισημαίνει το failure του dts και θα προσδιορίζε σε ποιό step έσκασε. Δλδ αν υπάρχουν 5 βήματα, θα πρέπει να υπάρχουν και 5 ActiveX μετά από κάθε βήμα σε περίπτωση failure.

    Με αυτό τον τρόπο θα αποφύγω κάθε μέρα να ελέγχω αν έτρεξε το dts και αν έσκασε κάπου να κάνω έλεγχο ένα ένα τα βήματα.

    Κάποια ιδέα???Smile

     

     


    Hello world....
  •  18-05-2007, 09:05 31907 σε απάντηση της 31885

    Απ: SQL SERVER 2005 - how to send mail after an erron of a dts' step

    Κάτσε να τα πάρουμε από την αρχή γιατί έχω μπερδευτεί. Όταν λες "DTS σε SQL Server 2005" εννοείς ότι έχεις φτιάξει ένα Integration Services Project σε SQL Server 2005 ή ότι χρησιμοποιείς ένα "Execute DTS 2000 Package" task σε Integration Services Project;

    Στην πρώτη περίπτωση, μπορείς να χρησιμοποιήσεις το "Send Mail Task". Μπορείς να ορίσεις το failure οποιουδήποτε task να χρησιμοποιεί το δικό του "Send Mail Task" ή όλα τα failure να καταλήγουν σε ένα "Send Mail Task", οπότε δεν είναι ανάγκη να μπλέξεις με "ActiveX Script Task" (αν πάλι κατάλαβα καλά ότι σε αυτό αναφέρεσαι). Κι αυτό με τα βήματα, δεν το κατάλαβα... Ως step θεωρείς το κάθε task ή αναφέρεσαι στα steps κάποιου Job που τρέχει στον SQL Server?

     


    Vir prudens non contra ventum mingit
  •  18-05-2007, 11:22 31911 σε απάντηση της 31907

    Απ: SQL SERVER 2005 - how to send mail after an erron of a dts' step

    έχεις δίκιο...στην βιασύνη μου να γράψω την δημοσίευση δεν ήμουν και πολύ σαφής!!!

    Αναφερόμουν σε ένα Integration Services Project σε SQL Server 2005, απλά χρησιμοποιήσα την εννοια του dts από κεκτιμένη ταχύτητα!!

    Όσον αφορά το step, αναφερόμουν σε task, ήταν αυτό είναι ένα απλό sql task είτε ένα flow task (που αποτελείται από κάποια επιπλέον sql tasks).

    Δεν γνωρίζω ακόμα πολύ καλά τον SQL Server 2005, μιας και μέχρι πριν λίγο καιρό χρησιμοποιούσα αποκλειστικά τον 2000.

    Λογικά το Send Mail Task κάνει αυτό που θέλω...από ότι είδα!!

    Μια μικρή απορία όμως...

    Σαν Smtp Connection χρησιμοποιώ τον mail server πάνω στον οποίο έχει στηθεί το mail που θα χρησιμοποιήσω σαν send to??

    Και στην επιλογή Send From??? Τι πρέπει να συμπληρώσω??

     


    Hello world....
  •  18-05-2007, 12:00 31914 σε απάντηση της 31911

    Απ: SQL SERVER 2005 - how to send mail after an erron of a dts' step

    Σε Data Flow Task δεν υπάρχει out-of-the-box η δυνατότητα να στέλνεις mail με κάποιο item. Ως workaroung μπορείς να χρησιμοποιήσεις έναν πίνακα που θα τον πεις ας πούμε DataFlowLog και να στέλνεις εκεί εγγραφές για κάθε Data Flow Item με fail αποτέλεσμα. Κατόπιν, όταν τελειώσει στο σύνολό του το Task, μπορείς να διαβάζεις τον DataFlowLog πίνακα και να στέλνεις ένα mail που στο σύνολό του θα περιέχει τις πληροφορίες που θες. Ωστόσο δεν είναι και τόσο καλή τακτική καθώς (ανάλογα πως θα σετάρεις την ιστορία αυτή) μπορεί τα e-mail μηνύματα να είναι μεγάλα σε μέγεθος.

    Μια δεύτερη τεχνική (που δεν έχω δοκιμάσει ποτέ, υποθέτω όμως ότι θα παίξει) είναι να γράψεις το δικό σου Data Flow Item με managed κώδικα. Βέβαια, δεν θα κάνει data flow operation αλλά send mail Wink Πάντως και αυτό δεν το βρίσκω καλή ιδέα καθώς θα εισάγεις μέσα στην όλη Data Flow διαδικασία ένα Item που μπορεί να σου προκαλέσει προβλήματα (πχ timeouts αν δεν είναι διαθέσιμος ο mail server).

    Θα σου πρότεινα να χρησιμοποιήσεις το Send Mail Task και αν θέλεις μεγαλύτερη λεπτομέρεια για τα λάθη και το τι πήγε στραβά, να υλοποιήσεις και τη λύση του DataFlowLog αλλά να ανατρέχεις "χειροκίνητα" σε αυτόν όταν λάβεις mail αποτυχίας του Data Flow Task.

    Ως προς τα settings του Send Mail Task, στο SMTP connection βάζεις το όνομα του SMTP server που πρόκειται να στείλει το mail. Μπορεί να είναι τοπικός (ο Windows Server 2003 έχει ανάλογο service που μπορείς να ενεργοποιήσεις) ή οποιοσδήποτε άλλος βρίσκεται διαθέσιμος στο δίκτυό σου.


    Vir prudens non contra ventum mingit
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems