2012-10-18 2 views
5

나는 다음과 같은 오류가 sp_send_dbmail을 사용하여 예약 된 SQL 에이전트 작업에서 이메일을 보내고받을하기 위해 노력하고있어 :sp_send_dbmail 오류 작업

메시지 22050, 수준 16, 상태 1, 줄 0 오류 서식 쿼리, 아마도 잘못된 매개 변수 메시지 14661, 수준 16, 상태 1, 프로 시저 sp_send_dbmail, 줄 504 쿼리 실행 실패 : 메시지 15404, 수준 16, 상태 16, 상태 19, 서버 MyServer, 줄 1 Windows NT 그룹/사용자에 대한 정보를 가져올 수 없습니다. 'MyDomain \ sqlagent', 오류 코드 0x5.

DECLARE @SQL NVARCHAR(400) 
SELECT @SQL = 'SELECT COUNT(staff_id) FROM Staff' 

EXEC msdb.dbo.sp_send_dbmail 
@recipients = '[email protected]', 
@subject = 'Email Alert', 
@body = 'Test', 
@query = @SQL, 
@execute_query_database = 'MyDB' 

SQL 에이전트가 도메인 계정으로 실행된다 MYDOMAIN \의 경우 SQLAgent] : 여기

은 작업 단계에서 코드입니다. 이 사용자에게 msdb의 DatabaseMailUserRole 멤버로 추가하는 것 외에도 MyDB 데이터베이스에서이 사용자에게 db_owner 권한을 부여했습니다. 아직도 운이 없다. @query 및 @execute_query_database 매개 변수를 제거하면 'test'전자 메일이 전송됩니다. 그러나 쿼리의 결과를 첨부해야합니다.

감사합니다. 감사합니다.

답변

3

나는 과거에 AD에 이상한 오류가 발생했습니다. 아래에서 실행중인 계정에 광고 내에서 읽을 수있는 속성이 있는지 확인하는 것이 좋습니다. 가장 빠른 방법은 실행하는 것입니다

exec xp_logininfo 'MyDomain\sqlagent' 

및 동일한 오류가 발생하는지 확인하십시오. 이 경우 도메인 계정의 보안 속성 ([Active Directory> 속성> 보안 탭에서 사용자를 마우스 오른쪽 단추로 클릭])을 확인하고 인증 된 사용자에 대한 읽기 권한을 설정합니다.

+0

닉, 정보를 제공해 주셔서 감사합니다. 나는 당신이 추천 한 쿼리를 실행하고 내가 얻은 동일한 메시지를 받았다. 광고 권한 설정에 대한 귀하의 조언을 따랐습니다. 그 이후에는 모든 것이 매력적이었습니다. SQL 에이전트 작업이 실행되고 전자 메일이 성공적으로 전송됩니다. – Brad

+0

기쁜 마음으로 당신을 위해. 나는 그 문제에 대해 최근에 꽤 많은 시간을 보냈습니다. – Nic

+0

다른 답변이없는 다른 곳에서도 비슷한 질문을 던져서 해결했습니다. –