INSERTで簡単なトリガーがあります
ALTER TRIGGER [dbo].[SendErrorEmail]
ON [dbo].[tblNewErrorLog]
FOR INSERT
AS
BEGIN
EXEC msdb.dbo.sp_send_dbmail
@profile_name='myprofile',
@recipients='me@me.com',
@subject='error in the database',
@body = 'check it out'
END
- Management Studioを使用して手動で行を追加すると、すべて問題なく、行が追加された電子メールが送信されます。
- エラーがサービスを介してログに記録された場合、何もありません。メールも新しい行もありません。
- トリガーを削除すると、期待どおりに機能し、行が追加されます。
- トリガーを保持しても、電子メールSPを削除すれば、問題ありません。新しい行が追加されました。
それで、エラーは明らかに電子メールと関係があります、多分セキュリティ?サービスがDBに接続するために使用する資格情報にログインしようとしましたが、手動で行を追加すると機能します。
また、メールが送信されなくても挿入が失敗するのではないかと少し心配ですが、それはなぜですか?
どこからトラブルシューティングを開始するかについての考えは大歓迎です。
ありがとう!
編集:コード一般からtrycatchを削除しましたTidyup