2012-04-06 12 views
0

SQL Server를 쿼리하고 전자 메일 목록을 얻고 목록에있는 모든 사람에게 개별 전자 메일을 보내는 매월 실행되는 작업을 예약해야합니다.SSIS가 데이터베이스에서 전자 메일을 받고 개별 전자 메일을 보내십시오.

SSIS를 사용하여 월간 작업을 예약해야한다고 가정하고 있지만 SQL Server에서 모든 작업을 수행하고 저장 프로 시저와 데이터베이스 메일을 사용해야하는지 잘 모르겠습니다. SSIS를 사용하여 .Net 실행 파일을 호출하여 모든 작업을 수행해야합니다.

어떻게해야합니까?

+0

이메일 본질은 무엇입니까? 보고서 또는 보고서와 같은 경우 ssrs가 더 나은 도구 일 수 있으며 스케줄링 및 이메일 전달 기능이 내장되어 있습니다. http://msdn.microsoft.com/en-us/library/ms160334.aspx – dkackman

+0

SSIS는 스케줄링에 대해 아무것도 모릅니다. 책임은 SQL Agent의 도메인입니다. SSIS (로깅, 구성 등)의 OOB 기능이 필요하거나 필요하면이를 사용하십시오. 그렇지 않으면 sp_send_dbmail을 SQL 에이전트 작업 내의 단계로 호출합니다 (적은 유지 관리). .NET 느낌 솔루션이 더 필요하면 PowerShell을 사용하십시오. DBA는 열어서 읽을 수있는 스크립트를 사용하는 것이 좋습니다. 그들에게 서버에서 실행되는 블랙 박스 EXE를 주면 그들은 건물에서 당신을 비웃습니다. – billinkc

답변

1

개인적으로 SQL Server에서 동일한 유형의 작업을 수행했습니다. SQL Mail을 설정하고 전자 메일 주소를 가져올 저장 프로 시저를 작성할 수 있습니다. 그런 다음 msdb.dbo.sp_send_dbmail을 사용하고 이름, recipients, subject, attachment 등의 옵션을 모두 옵션으로 제공하면됩니다.

그런 다음 당신은 등

+0

SQL 서버에서 모든 작업을 수행하거나 모든 작업을 수행하는 .NET의 콘솔 앱을 만든 다음 매월 실행되도록 exe를 예약하는 것이 더 낫겠습니까? – user1202606

+0

@ user1202606 - 귀하와 dba 또는 개발 팀 모두에게 도움이됩니다. SQL Server 측에서 모든 작업을 수행 할 수 있다면 SQL Server 측에서 저장 프로 시저를 호출하여 데이터 (전자 메일)를 가져와야합니다. 계속 진행하지 않고 처리하는 .net C# 또는 vb.net 앱을 만들고 일정을 잡으십시오. 정말 똑같아. – JonH

0

SQL 당국은 SSIS를 사용하지 않고 데이터베이스 내에서이 작업을 수행하는 방법에 대한 단계별로 좋은 단계가 있습니다, 매시간, 매주, 매월이 SPROC를 실행하는 SQL Server의 작업 섹션을 사용할 수 있습니다 . http://blog.sqlauthority.com/2008/08/23/sql-server-2008-configure-database-mail-send-email-from-sql-database/

SQL Agent를 설정하면 전자 메일을 처리하고 보내는 proc를 예약 할 수 있습니다.

관련 문제