2009-07-22 11 views
0

J'ai exécuté une procédure stockée qui exécute plusieurs instructions de mise à jour et d'insertion séparées. Il imprime également des messages d'état que je peux voir dans le studio de gestion sql. Je vais automatiser cette procédure pour s'exécuter pendant la nuit, mais j'ai besoin de la sortie comme un dernier contrôle à m'envoyer.sql server envoyer des messages de sortie par e-mail

Je sais comment utiliser la procédure mémorisée par courrier électronique et que cela fonctionne mais ne parvient pas à trouver où la sortie de message c'est-à-dire (10 lignes affectées) ... est stockée.

Répondre

1

Les messages d'information comme '10 lignes affectées » ou la sortie d'impression sont envoyés directement au client et vous ne pouvez pas capturer dans Transact-SQL. Vous pouvez cependant être le client si vous êtes une procédure CLR, et dans ce cas vous obtiendrez tous les résultats de la procédure que vous avez appelée. Requiert SQL Server 2005 ou plus récent pour CLR.

Une meilleure alternative est de créer une sortie vraie, comme un résultat de ligne ou des paramètres de sortie.

1

vous pouvez toujours stocker la sortie dans une table

exec master..xp_sendmail  
@recipients = '[email protected]',  
@subject = 'my alert'.  
@query = 'select * from mytable'  
+0

Vous devrez configurer SQL Mail sur le serveur pour que cela fonctionne. –

0

vous ne pouvez pas obtenir des messages d'information de t-sql.

0

IMPRIMER @WIDELOAD

Questions connexes