web-dev-qa-db-fra.com

Travail d'agent SQL Server Notifier plusieurs opérateurs en cas d'échec

J'ai une configuration de travail dans SQL Server 2008 qui envoie un e-mail de notification à un opérateur lorsque le travail échoue. 

Question: Est-il possible de configurer un courrier électronique de notification envoyé à plusieurs opérateurs pour ce travail spécifique?

Je pense qu'une solution possible consiste à créer de nombreuses alertes pour la base de données pour chaque gravité donnée, mais j'espérais qu'il existait un moyen plus concis de procéder. Si je devais emprunter cette voie, quelles erreurs de gravité seraient probablement déclenchées par un travail en échec? (Je ne pense pas que j'aurais besoin de tous les 25 pour quelque chose comme ça) 

Cela peut-il être fait via la commande sql pour ajouter plus d'opérateurs à prévenir en cas d'échec? Grâce à l'interface utilisateur, vous ne pouvez choisir qu'un seul opérateur, semble-t-il.

27
Mike

Question: Est-il possible de configurer un courrier électronique de notification envoyé à plusieurs opérateurs pour ce travail spécifique?

Je ne crois pas que ce soit possible. 

Certes, si l’on regarde la structure de [msdb].[dbo].[sysjobs], les différentes colonnes operator_id figurent dans ce tableau, ce qui conforterait l’idée selon laquelle 1 à plusieurs n’est pas possible.

Mais quelques alternatives

  1. Vous pouvez créer un nouvel opérateur avec la liste d'adresses électroniques délimitées par des points-virgules. En regardant la définition de sysoperators c'est bon pour les chaînes qui peuvent entrer dans nvarchar(100) 
  2. si vous devez dépasser ce seuil, vous pouvez probablement configurer un groupe de distribution de courrier électronique en échange ou autre.
30
Martin Smith

Si l'intention est que plusieurs personnes de votre organisation soient informées en cas d'échec d'un travail, vous pouvez modifier l'adresse électronique de l'opérateur pour inclure plusieurs boîtes aux lettres en les séparant par un point-virgule.

Je suppose que votre opérateur notifié s'appelle JobWatcher:

EXECUTE msdb.dbo.sp_update_operator
  @name = N'JobWatcher',
  @email_address = N'[email protected];[email protected]';

À présent, [email protected] et [email protected] recevront un courrier électronique en cas d'échec du travail.

26

La méthode la plus simple que j'utilise pour notifier plusieurs "OPERATORS" sur "JOB FAILURE" consiste à:

Dans SSMS>SQL Server Agent>Operators, créez une nouvelle variable OPERATOR ou EDIT existante et ajoutez des adresses électroniques supplémentaires séparées par ; dans la zone "E-mail name:".

20
Sagheer Ahmed

La meilleure pratique serait de créer un groupe sur votre serveur de messagerie, d'envoyer les notifications au groupe, puis de contrôler le nombre de destinataires à partir du serveur de messagerie.

11
Mackin

C'est donc ce que j'ai proposé comme solution de contournement si l'intention est que plusieurs personnes de votre organisation soient averties en cas d'échec d'un travail et qu'un groupe différent de plusieurs personnes réussisse.

Vous remarquerez que les étapes 1 à 3 sont les tâches normales que le travail planifié utilise comme vous le feriez pour votre tâche. Il peut y avoir autant d'étapes que nécessaire avant ces étapes, mais la dernière étape (étape 3) du processus doit indiquer les étapes «En cas de réussite» et «En cas d'échec» pour entrer dans des courriers électroniques séparés. De plus, tous les «En cas d'échec» doivent continuer sur votre «Email d'échec» comme indiqué ci-dessous. Ainsi, le groupe Echec reçoit les courriels et le travail échouera pour les enregistrements historiques.

1.1

L'option permettant de changer l'orientation des actions «En cas de réussite» et «En cas d'échec» apparaît dans l'onglet Avancé des étapes du travail.

2

Echec Email Step -General Property

3

Echec Email Step -Advance Property

4

Success Email Step - Propriété générale

5

Success Email Step - Propriété Advance

6

Pour les autres dans le besoin d'aide. Notifier plusieurs opérateurs avec des résultats différents

2
dbahiker

Veuillez utiliser le script ci-dessous pour augmenter la longueur des caractères de l'adresse e-mail . USE mdsdb GO ALTER TABLE sysoperators ALTER column email_address NVARCHAR(2000);

0
JERRY