관리 서비스 계정으로 SQL Server 2012 인스턴스를 실행하고 있습니다. 하나의 계정으로 데이터베이스 메일을 구성하고 테스트 이메일을 보내려고하는데 서버의 이벤트 로그에 오류가 발생합니다.
데이터베이스 엔진 인스턴스 = MYINSTANCE; 메일 PID = 2132; 오류 메시지 : 데이터베이스 업데이트에 실패했습니다. 이유 : 오브젝트 'sysmail_logmailevent_sp', 데이터베이스 'msdb', 스키마 'dbo'에 대한 EXECUTE 권한이 거부되었습니다.
데이터베이스 엔진 인스턴스 = MYINSTANCE; 메일 PID = 2212; 예외 유형 : Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException 메시지 : 데이터베이스에서 읽지 못했습니다. 이유 : 개체 'sp_readrequest', 데이터베이스 'msdb', 스키마 'dbo'에 대한 EXECUTE 권한이 거부되었습니다. 데이터 : System.Collections.ListDictionaryInternal TargetSite : Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand (System.Data.SqlClient.SqlCommand) 도움말 링크 : NULL 원본 : DatabaseMailEngine
SQL Server 프로세스를 실행하는 계정을 sysadmin으로 만들면이 오류가 사라지고 메일이 성공적으로 전송됩니다. 그러나 내가 한 모든 연구 DatabaseMailUserRole
는 msdb
데이터베이스 에서이 계정을 제공하는 것으로 충분하다고 제안합니다 . 나는 이것을했지만 여전히 같은 오류가 발생합니다.
나는 BOL을 살펴 보았지만 아무것도 찾을 수 없었습니다.