Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/04/2011, 10h51   #1
Membre régulier
 
Inscription : avril 2008
Messages : 157
Détails du profil
Informations personnelles :
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : avril 2008
Messages : 157
Points : 92
Points : 92
Par défaut [2005] sp_send_dbmail fonctionne à moitié..

Bonjour,

J'ai configuré la messagerie de base de données sans problème!
Lorsque je fais un test d'envoi de message, pas de souci je reçois bien mon mail.

En revanche quand j'utilise sp_send_dbmail, je ne reçois rien...

Code :
1
2
3
4
5
6
EXEC msdb.dbo.sp_send_dbmail 
@profile_name ='toto',
@recipients='toto@titi.fr', 
@importance='Normal',
  @subject = 'OK', 
  @body = 'ALIMENTATION OK'
Et dans mon journal, je n'ai pas d'erreur...
j'ai juste à chaque fois :
Processus DatabaseMail démarré.
Processus DatabaseMail en cours d'arrêt.

Une idée ?
pourquoi le test marche, mais pas la procédure ?
jibjib est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2011, 21h52   #2
Membre éprouvé
 
Homme Hamid MIRA
Ingénieur développement logiciels
Inscription : septembre 2003
Messages : 177
Détails du profil
Informations personnelles :
Nom : Homme Hamid MIRA
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2003
Messages : 177
Points : 413
Points : 413
Une astuce :
Avant de faire le test qui marche ! lance SQL Server profiler pour capturer la commande réelle envoyée par le serveur.

la commande ressemble à ceci :

Code :
1
2
3
4
5
6
7
8
9
declare @mailid int
 
EXECUTE [msdb].[dbo].[sp_send_dbmail]
    @profile_name = 'Nom_du_profil'
    ,@recipients  = 'adresse_mail_du_destinataire'
    ,@body        = 'Ceci est un message électronique de test envoyé par la messagerie de base de données...'
    ,@subject     = 'Test de la messagerie de base de données'
    ,@mailitem_id = @mailid OUTPUT
SELECT @mailid
Puis compares la commande envoyée par le test qui marche avec ta propre commande puis vérifies que tu n'a rien oublié !

A+
hmira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 12h44   #3
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 668
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 668
Points : 8 716
Points : 8 716
Bonjour,

Vous pouvez aussi jeter un oeil dans les tables système pour voir ce qui s'est passé, comme sysmail_event_log.

Ces tables sont dans la base de données système msdb

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h47.


 
 
 
 
Partenaires

Hébergement Web