2013-07-03 4 views
1

정기적 인 작업을 수행하여 백엔드에서 무거운 백그라운드 처리를 수행하는 저장 프로 시저가 있습니다. 저장 프로 시저가 처리해야하는 데이터의 양은 가변적입니다.다른 인스턴스가 실행 중일 때 저장 프로 시저 실행을 중단합니다.

저장 프로 시저를 예약 된 작업으로 설정하려고합니다.

처리가 순차적으로 수행되어야하므로 언제든지 저장 프로 시저의 인스턴스 하나만 실행되도록해야합니다.

데이터의 양이 너무 많으면 첫 번째 인스턴스를 완료하기 전에 예약 된 작업이 다른 인스턴스를 활성화 할 수 있습니다.

내 질문은 : 저장 프로 시저의 다른 인스턴스를 확인하고 이미 존재하는 경우 중단합니까?

+1

작업에 SQLAgent가 부족한 경우 이전 인스턴스가 실행되는 동안 새 인스턴스를 만들지 않아야합니다. 작업 스케줄러가 부족한 경우 설정 탭에 "작업이 이미 실행되고 있으면 새 인스턴스를 시작하지 마십시오"라는 설정이 있습니다. Tivoli가 부족하다면 아마 옵션도있을 것입니다. – Ben

답변

1

세마포어 테이블을 만들어 플래그를 설정하고 프로 시저에서 확인하십시오.

관련 문제