Des problèmes avec l'envoi de mails de notification à partir de SQL Server 2008
J'ai un problème de configuration des notifications par email dans SQL Server 2008.
Je suis à l'aide de SQL Server 2008 pour construire un cube de données. Ce processus se compose de plusieurs postes de travail, qui sont tous programmés pour exécuter chaque nuit à un moment précis. Pour voir si un travail était en cours d'exécution sans aucune défaillance, il est possible de configurer les notifications par mail.
http://new.smilinginthesun.de/stackoverflow/01emailOperator.png
http://new.smilinginthesun.de/stackoverflow/02emailNotification.png
Malheureusement, aucun email n'est envoyé, même si je pense que j'ai configurer la messagerie de base de données correctement.
Tous les guides, je trouve juste explique comment configurer la messagerie de base de données (par exemple. http://blog.sqlauthority.com/2008/08/23/sql-server-2008-configure-database-mail-send-email-from-sql-database/), mais c'est tout.
Si j'ai envoyé un mail pour tester la fonctionnalité (via e-mail de test de bouton ou de script T-SQL) il fonctionne très bien et la réception d'un email. Mais lors de l'utilisation de la fonction de notification dans un travail, il n'a même pas créer un sysmail_mailitems
ou sysmail_log
entrée.
J'ai également envoyer un e-mail à l'aide de sp_notify_operator
, avec succès. Si l'opérateur mis en place semble fonctionner, trop. (Merci, Joe Stefanelli, pour l'astuce.)
Il est une excellente solution de contournement écrit pour SQL Server 2005, ce qui a fonctionne pour moi, trop: http://www.howtogeek.com/howto/database/sending-automated-job-email-notifications-in-sql-server-with-smtp/, mais pourquoi n'est-il pas possible de n'utiliser que l'accumulation de fonctionnalité?
Personne ne sait si il n'y a rien d'autre à faire, à faire que l'e-mail de notification de tâche travail correctement? Merci à vous conseiller.
- Test de votre opérateur mis en place avec sp_notify_operator. Qui peuvent aider à cerner le problème.
- Merci pour vos conseils. J'ai envoyer un e-mail à l'aide de
sp_notify_operator
avec succès. Si l'opérateur mis en place semble fonctionner. - J'ai demandé à notre équipe de soutien, et a obtenu la réponse suivante: Pour envoyer des notifications par e-mail des travaux de l'agent SQL Server Agent, le système d'alarme doit être activée. Nous l'avons fait. Après le redémarrage de l'agent, la Messagerie de Base de données doit être utilisé. Malheureusement, cela ne fonctionne pas. L'agent est toujours en essayant d'atteindre un profil Mapi (comme dans SQL 2000). Il y a plusieurs messages de blog pour ce problème, mais tous n'ont pas aidé. Maintenant, nous devons mettre en place un dossier de prise en charge au Support Microsoft.
Vous devez vous connecter pour publier un commentaire.
Je suis en retard mais j'ai vu ton post d'avoir le même problème.
La solution est d'activer un profil de messagerie pour les alertes.
Pour cela:
Pour vous envoyer des notifications à partir des travaux de l'agent SQL Server Agent, le système d'alarme doit être activée. Nous l'avons fait. Après le redémarrage de l'agent, la Messagerie de Base de données doit être utilisé. Malheureusement, cela ne fonctionne pas. L'agent était toujours en essayant d'atteindre un profil Mapi (comme dans SQL 2000).
La valeur de registre suivante n'était pas ensemble:
"UseDatabaseMail"=dword:00000001
Après la mise à
1
, la messagerie de base de données système.Vous pouvez le faire en SQL server, directement:
DECLARE @value varchar(255); EXEC master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent', N'UseDatabaseMail', N'REG_DWORD', @value OUTPUT; PRINT @value
, où ; doit être sauts de ligne--désolé, je n'ai pas de Serveur MSSQL plus pour essayer cela, mais il pourrait fonctionner de cette façon.J'ai essayé ce que ZeuG. indiqué et n'avait pas de succès... puis j'ai redémarré l'Agent SQL. C'est ce qui a fait le travail de notification d'email de travail pour moi.
Pour moi, SQL mail a bien fonctionné quand j'ai cliqué avec le bouton droit de la Base de données de Messagerie et dit d'Envoyer des e-Mail de Test. Cependant, après la mise en place des alertes pour tous les niveaux de gravité et de l'exécution de
RAISERROR (N'Test alert!', 20, 1) WITH LOG;
, aucun mail n'est venu à travers. La question est la compte de service que l'Agent SQL Server s'exécute sous. Apparemment, le compte virtuelNT Service\SQLSERVERAGENT
(ou quel que soit votre défaut peut être) ne dispose pas des autorisations d'accès à des objets sur le réseau et cela inclut e-mail.À corriger, modifier le service pour utiliser un compte local sous le groupe d'Utilisateurs, le redémarrage de SQL Server agent, puis essayez d'exécuter une commande qui renvoie une erreur comme le
RAISERROR
énoncé ci-dessus. Vous devriez maintenant recevoir l'e-mail.