Ciao a tutti.
Vorrei una dritta per sapere:
- Come notificare un job SQL in errore tramite email senza usare il protocollo MAPI richiesto da SQL.
- Come notificare via sms un job SQL in errore.
Aiuto.
Ciao a tutti.
Vorrei una dritta per sapere:
- Come notificare un job SQL in errore tramite email senza usare il protocollo MAPI richiesto da SQL.
- Come notificare via sms un job SQL in errore.
Aiuto.
Guarda c'ho sbattuto la testa anche io parecchio tempo fa. Dalla documentazione che ho trovato non vi è modo di spedire email da SqlServer se non utilizzando il protocollo MAPI (basta installare Outlook di Office). Spero di essere smentito in questo.
Per mandare sms invece la faccenda è + complessa. Prima di tutto devi aver la possibilità di utilizzare un gateway e poi sapere come interfacciarsi a tale strumento.
Tu hai a disposizione un gateway sms?
Per il gateway posso trovarlo (inwind non se la mena per questo)
Per la mail non è possibile fare un VBS che viene lanciato da on job che crea un'ind fake?
Guarda.. sono proprio uno stupido.Originariamente inviato da dafi
Per il gateway posso trovarlo (inwind non se la mena per questo)
Per la mail non è possibile fare un VBS che viene lanciato da on job che crea un'ind fake?
Apro il mio Enterprise manager su un server locale e che mi trovo? Un pacchetto DTS per l'invio di email che avevo fatto tempo fa!
Scusa.. sarà il .... "martedi"...codice:Function Main() Set miaMail = CreateObject("CDONTS.NewMail") miaMail.From = "sqlserver@pippo.it" miaMail.To = "zofm@html.it" miaMail.Subject = "Oggetto email" miaMail.BodyFormat = 1 miaMail.MailFormat = 1 miaMail.Body = "Testo email" miaMail.Send Set miaMail = Nothing Main = DTSTaskExecResult_Success End Function![]()
Tu quindi stai utilizzando un job.. non riesci a fare un pacchetto DTS? Da li riesci a gestire gli eventi Failure e Success.
Guarda , qui lo stupido sono io..
Grazie , cio' mi serve veramente ,ma cosa dovrai fare con il codice che mi hai dato?
Sto ancora implementando tutto.
L'idea che ho , visto che io mio Db va ogni tanto in "suspect mode" , è fare un job che controlla lo status del server e che notifichi via mail se è in down.
Con il codice devo fare copia ed incolla in un DTS?
Grazie veramente.
OK allora puoi creare un pacchetto DTS con 2 ActiveX Script Task: il primo controlla lo stato del server (in che modo vedi tu), mentre il secondo viene richiamato solo se il primo non va a buon fine.
Il codice che ti ho scritto prima semplicemente invia un'email e da come risultato dello step un OK (quel Main = DTSTaskExecResult_Success). Nel tuo primo step quindi farai una cosa del genere:
In questo modo se il server è down dai come risultato dello step un Failure e così facendo entra in gioco il secondo step di invio email.codice:Function Main() 'Codice per il controllo del server 'ServerIsOk è una variabile bool che devi 'creare e gestire e che indica lo stato del server if ( ServerIsOk ) Then Main = DTSTaskExecResult_Success else Main = DTSTaskExecResult_Failure end if End Function
Per collegare i 2 step basta selezionare le icone degli step e cliccare sulla voce Workflow
![]()
Ah ovviamente poi pianifichi questo pacchetto per eseguirlo quando vuoi![]()
Ottimo.
Ma se per te creo solo un DTS con solo il codice di invio mail così:
- Job sql che fa il controllo delle status del server
- In caso di "suspect mode" faccio dal job l'exec del DTS che manda la mail.
Non conosco codice VBS e faccio fatica.
Potrebbe andare bene ?
No ferma: devi creare un pacchetto DTS e li dentro crei 2 task ActiveX come ti ho detto. Li leghi tra di loro OnFailure (in modo che il secondo di invio email viene effettuato solo se il primo non va a buon fine).
Una volta creato e salvato il pacchetto lo pianifichi. SqlServer automaticamente crea un job per questo pacchetto. Non devi quindi andare a modificare la configurazione del job ma fai tutto dentro il pacchetto DTS.
Come intendi procedere per controllare lo stato del database? Hai già pensato ad una soluzione?
ANche perchè l'ho lanciato per testarlo e mi ha dato l'errore (can't create CDONTS.NewMail)
Tutto cio' mi serve per allargare le mie conoscenze limitate e per questo ti ringrazio.