2011-03-25 2 views
3

시간 간격으로 매일 2 시간마다 일을하는 일정이 있습니다. 이 일정에 대한 종료일을 설정하고 싶지만 포괄적인지 배타적인지 궁금합니다. 다시 말하면, 내가 3 월 26 일에 종료일을 정하면, 오늘은 그것이 실행되는 마지막 날이 될 것이고 내일 (오늘 3 월 23 일)이 될 것입니다.SQL 서버 작업 일정의 종료 날짜가 포함 또는 배타

답변

1

종료 시간도 고려해야합니다. 종료 날짜/시간 이후에 실행되는 작업은 실행되지 않습니다. 그래서 그것은 사실 독점적입니다. MSDN에서

:

SQL Server 에이전트가 자동으로 더 이상 현재있는 일정을 비활성화합니다. SQL Server Agent에 의해 비활성화 된 후에 일정을 편집하는 경우 명시 적으로 을 다시 활성화해야합니다. 일정은 다음과 같은 경우 인 경우 비활성화됩니다.

반복되는 일정으로 실행되도록 정의되어 있으며 종료 날짜가 지났습니다.

또한 종료 날짜와 관련하여 이전 버전의 SQL Server에는 some problems이있었습니다.

8

sysschedules_localserver_view 뷰를 사용하여 msdb 데이터베이스를 보면 종료 날짜 (active_end_date = 3 월 26 일)와 종료 시간 (active _end_time)과 함께 일정을 볼 수 있는데, 이는 235959 일 가능성이 높습니다 3 월 26 일 종료일로 예정된 모든 작업은 3 월 26 일에 실행되고 첫 번째 날은 27 일이됩니다. 쓰레드 - 일정 (Job - Schedules) 대화 상자에 끝 날짜가 설정되면 작업이 해당 날짜에 실행된다는 쓴 경험을 통해 확인할 수 있습니다. 따라서 종료일은 포괄적입니다.

+0

SQL 에이전트 작업의 종료 날짜는 ** 포함 **입니다. 일부 더미 테이블에 행을 추가하는 간단한 태스크를 작성하여이를 증명했습니다. 2 초마다 실행되도록 예약되었습니다. 오늘 종료일입니다. 행은 * 삽입 *되었습니다. 종료 날짜가 어제로 설정되면 행 삽입 *이 중지되었습니다. 나는 너 자신 그것을 검사하는 것이 좋습니다. – Fosna