Триггер SQL Server не позволяет вставить строку в базу данных и не выполняет хранимую процедуру - PullRequest
0 голосов
/ 08 февраля 2019

Я пытаюсь заставить срабатывать триггер после того, как строка была вставлена ​​в базу данных.Приложение работает нормально с отключенным триггером, но когда он включен, строка никогда не вставляется в базу данных (из приложения) и триггер не запускает хранимую процедуру.

Разве AFTER INSERT не должен запускать триггер AFTER строка таблицы базы данных была вставлена?

ALTER TRIGGER [dbo].[trSendException]
ON  [dbo].[Logs]   
AFTER INSERT  
AS 
BEGIN
    SET NOCOUNT ON;
    EXEC dbo.EmailExceptionAlerts
END

Мне нужен триггер для выполнения хранимой процедуры после вставки строкив мою базу данных из приложения.

1 Ответ

0 голосов
/ 08 февраля 2019

Я использовал блок try catch в методе моего приложения, которое выполняет начальную хранимую процедуру (как предложено), чтобы вставить строку и получил исключение: разрешение EXECUTE было отказано для объекта 'sp_send_dbmail', база данных 'msdb'Схема 'DBO'.Затем я предоставил пользователю доступ к msdb и проверил опцию DatabaseMailUserRole в соответствии с пользовательскими сопоставлениями для свойств входа пользователя.Сейчас работает как надо.Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...