2012-11-21 1 views
0

sp_send_dbmail을 실행하도록 설정 한 SQL 작업이 있으며 저장 프로 시저의 결과를 전자 메일에 첨부합니다. 이 일은 일주일 반이 될 때까지 계속되었습니다.SQL Server : 저장 프로 시저를 호출 할 때 sp_send_dbmail이 전자 메일을 대기열에 넣지 않습니다.

전체 공개 : 그 당시의 저장 프로 시저를 변경했습니다. 저장 프로 시저가 이전에 하나의 연결된 서버에서 테이블을보고 있었고 이제 다른 연결된 서버의 테이블을보고 있습니다.

코드를 작업에서 제거하고 성공적으로 쿼리 창에서 실행할 수 있으며 sp_send_dbmail 호출없이 쿼리 창에서 성공적으로 저장 프로 시저를 실행할 수 있습니다. 또한 작업이 일정대로 실행되고 성공을보고하므로 작업 기록에 오류 메시지가 표시되지 않습니다. 내가 작업에 코드를 프로 시저를 실행하고 아래에 메일을 보낼 포함 시켰습니다 : 나는 작업을 만든 이후

USE msdb 
GO 
EXEC msdb.dbo.sp_send_dbmail 
    @profile_name = 'SMail', 
    @recipients = '[email protected]', 
    @query = 'EXEC [REP01].[Mktg_Reporting].[dbo].DailyC2C', 
    @subject = 'Daily Call History', 
    @query_result_separator=',', 
    @query_result_no_padding=1, 
    @query_result_header=0, 
    @attach_query_result_as_file = 1, 
    @exclude_query_output=1, 
    @query_attachment_filename='Calls.csv'; 

가이 코드를 변경하지 않았다, 나는 단지 저장의 변화를 만들어 프로 시저를 사용하여 다른 연결된 데이터 소스를 살펴 보았습니다. 모든 종류의 도움을 주시면 감사하겠습니다.

편집 : 또한 sysmail_mailitems 테이블을 검사했는데 수동으로 작업을 실행할 때마다 현재 날짜에 대기중인 메시지가 없음을 발견하고 해당 세부 정보가 포함되었는지 확인하려고했습니다.

+0

두 개의 연결된 서버의 차이점은 무엇입니까? 둘 다 SQL Server입니까? 아니면 다른 것입니까? 연결된 서버에 대한 사용 권한은 동일합니까? – Pondlife

+0

작업이 실행되는 서버와 연결된 서버가 모두 SQL 서버입니다. NT AUTHORITY \ SYSTEM이 두 서버에서 동일한 권한을 가진 작업에 의해 실행되고 있다고 생각합니다. – morris295

+0

원래 응답 후에 NT AUTHORITY \ SYSTEM 사용자가 실제로 연결된 서버에 적절한 사용 권한을 갖고 있지 않은지 다시 확인했습니다. 저를 가리켜 주셔서 감사합니다! – morris295

답변

0

좀 더 자세히 살펴 보았습니다. Pondlife는 권한 문제와 관련하여 올바른 방향으로 가고있었습니다. 나는 처음으로 회신을 한 후 좀 더 심층적으로 보였고 NT AUTHORITY \ SYSTEM 사용자가 연결된 서버에 올바르게 액세스하도록 설정되지 않았다는 것을 깨달았습니다. 그 이후로 문제가 해결되었습니다.

관련 문제