답변:
다음 Gaius 게시물 : 스크립트 앞에 db를 사용하여 필요한 작업을 수행하는 .SQL 스크립트를 생성 할 수 있습니다.-> 스크립트를 호출하는 운영 체제 유형의 SQL 에이전트 작업을 생성합니다.
sqlcmd -E -S SERVERNAME -i "c : \ YOURSCRIPT.sql"-o "C : \ YOURSCRIPT_LOG.log"
새 단계를 추가하고 msdb.dbo.sp_send_dbmail 프로 시저를 사용하여 이메일을 보내십시오. 이 기능은 스크립트 실행을 확인하기 위해 메일 내부에 SQL 테이블의 특정 쿼리를 표시하도록 사용자 정의 할 수 있습니다 (예 : 재구성 인덱스의 dbcc showcontig).
SQL 작업을 사용할 수있는 옵션이 있습니까? 이를 통해 알림 등을 할 수 있습니다. 간헐적 인 알림을받는 한 저장 프로 시저 등에서 일부 코드가 필요합니다.
예, xp_sendmail 만 사용하십시오 . 미리 설정된 메시지 나 SQL 문의 결과를 쉽게 보낼 수 있습니다. 이 기능은 SQL Server 6.5부터 사용 가능하지만 Denali 에서는 더 이상 사용되지 않을 예정입니다.이 기능이 작업의 영구적 인 부분 일 경우 훨씬 더 "엔터프라이즈"인 데이터베이스 메일 을 사용해야합니다 .
항상 "EventLog"테이블에 메시지를 씁니다. 많은 양의 데이터를 처리 할 때 데이터를 청크로 관리하고 매 청크마다 이벤트 로그에 상태 업데이트를 씁니다.
장기 실행 프로세스의 진행 상황을 확인하려면 EventLog 테이블을 쿼리하면됩니다.
출력 예 :
------------------- -나의 큰 업데이트- ------------------- 시작 : 2011-05-03 10:00:00 처리 할 레코드 : 1,000,000 청크 : 200 --- 청크 1 --- MyTable 업데이트 시도 업데이트 된 레코드 : 5000 남은 기록 : 995,000 처리량 : 초당 4210 개의 레코드 --- 청크 2-- MyTable 업데이트 시도 업데이트 된 레코드 : 5000 남은 기록 : 990,000 처리량 : 초당 3555 개의 레코드 --- 청크 3-- 기타
또한 메시지가 작성된시기, 메시지를 작성한 프로세스 등을 추적하기 위해 EventLog 테이블에 열이 있습니다. 예제에 해당 정보를 포함하지 않아서 죄송합니다.