2011-05-16 2 views
0

기존 맞춤형 CRM 응용 프로그램에서 전자 메일 알림을 사용하기위한 최상의 옵션을 설정하려고합니다.기존 SQL 기반 응용 프로그램의 전자 메일 알림

기본적으로 작업 항목 중 하나가 KPI (주요 성과 지표)를 위반했을 때 영향을받는 사용자에게 전자 메일을 보내려고합니다.

SQL 트리거와 저장 프로 시저를 사용하여이 작업을 수행하는 것이 가장 좋습니다 (이 작업을 수행하는 데 사용할 수 있습니까?) 또는 일부 C# 코딩과 예약 된 작업을 사용해야합니까? 아니면 더 쉬운 길을 놓치고 있습니까?

+0

사용중인 SQL Server의 버전과 제조사를 입력해야합니다. 물론 SQL Server의 경우 대답은 버전에 크게 의존합니다 ('xp_sendmail'이 제거됨). –

+0

KPI의 예는 무엇입니까? 데이터를 폴링하는 별도의 서비스가있는 경우 확장 성 및 유지 관리 용이성이 향상 될 것입니다. 주로 귀하의 요구 사항에 따라 다릅니다. –

+0

죄송합니다, 그것은 SQL Server 2005를 사용하고있을 것입니다. 정확하게 기억한다면 여전히 xp_sendmail을 가지고 있습니다. db_mail은 현재 무엇이 대체되어 있습니까? – Graham

답변

0

매분마다 데이터베이스를 폴링 한 다음 전자 메일을 작성하고 보내는 Windows 서비스를 사용하기 전에이 작업을 수행했습니다.

방아쇠가 가능한 또 다른 접근법이라고 생각하지만 이메일을 보내지 못한 경우 어떻게해야합니까? 어쨌든 예정된 작업 방식과 같은 일종의 추락을 원할 것입니다.

0

스케쥴링 엔진 인 Quartz.Net과 같은 것을 사용할 수 있습니다. 정의 된 시간 간격으로/지정된 시간에 작업을 실행할 수 있으며 작업이 실패하거나 다시 경고 할 수 있습니다.

Quartz.Net는 NuGet을 통해 볼 수 있습니다 (또는 라이브러리 패키지 추가) 및에 좋은 문서를 많이 가지고 자신의 site

0

개인적으로 이메일 다음 파견을 구성하기 위해 SQL 에이전트 작업을 사용합니다. 이렇게하면 작업을 실행하기위한 특정 자격 증명 (예 : 메일 서버 액세스)을 지정할 수 있으며 원하는만큼 자주 실행할 수 있습니다.

현재 사용하는 방법은 .Net의 SMTP 기능을 사용하는 간단한 CLR 저장 프로 시저이며 전자 메일 메시지를 구성하는 매개 변수가 많이 필요합니다.

0

SQL Server 2005에서 전자 메일을 보내는 가장 좋은 방법은 [msdb.dbo.sp_send_dbmail]이 (가) 당신의 친구라고 생각합니다. 웹에서 빠른 검색을 수행하여 세부 정보를 얻을 수 있지만 데이터베이스 메일을 올바르게 사용하도록 설정해야합니다. tsqlunit과 함께 야간 작업을 실행하여 일부 비즈니스 규칙이 준수하는지 파악합니다.

대신 전자 메일 알림을 보낼 수있는 이벤트를 잡는 좋은 방법을 찾고 있다면이 설정은 설정 및이 체크가 발생하는 빈도에 따라 다릅니다. 이미 존재하는 저장 프로 시저에 첨부 할 수도 있고 트리거를 사용할 수도 있습니다 (설치 프로그램에서 처리 할 수있는 경우). 때로는 작게 시작해서 몇 가지 교훈을 배운 후에 더 나은 것으로 옮기는 것이 더 나을 때가 있습니다.

희망이 도움이됩니다.