Я использовал следующий код для настройки мониторинга взаимоблокировок:
http://weblogs.sqlteam.com/mladenp/archive/2008/07/18/Immediate-deadlock-notifications-without-changing-existing-code.aspx
, и он отлично работает.У меня проблема в том, что msdb.dbo.sp_send_dbmail, похоже, не работает.Если я выполняю вручную из сеанса, Он работает нормально , но из хранимой процедуры возникает следующая ошибка:
2011-08-23 16: 42: 45.28 spid219s Активированный процесс[dbo]. [usp_ProcessNotification], работающий в очереди Wayne.dbo.DeadLockNotificationsQueue, выдает следующее: 'Ошибка при получении сообщения компонента Service Broker из очереди DeadLockNotificationsQueue.Имя базы данных: Уэйн;Номер ошибки: 229;Сообщение об ошибке: Отказано в разрешении EXECUTE для объекта 'sp_send_dbmail', базы данных 'msdb', схемы 'dbo'. '
Я также выполнил следующее:
EXEC msdb.dbo.sp_addrolemember@rolename = 'DatabaseMailUserRole', @ membername = '';
с моим входом в систему в качестве имени члена, но, похоже, это не поможет.
Что мне нужно сделать, чтобы исправить это?
Спасибо.
Уэйн.