2016-10-14 5 views
0

SQL 실행 태스크를 사용하여 SSIS에서 실행하려고하는 프로 시저를 저장했습니다. 이 저장 프로시 저는 Cursor와 관련이 있으며 마지막 단계는 커서 할당 취소입니다. 저장 프로 시저 실행이 완료된 후에도 SQL 실행 작업이 완료되지 않고 다음 단계로 넘어 가기 전에 오랜 시간 동안 중단됩니다. 이 테스트하려면 GETDATE()를 한 열 값으로 사용하여 저장 프로 시저의 마지막 줄에 insert stmt를 추가했습니다. Execute SQL Task가 완료되기 거의 2 시간 전에 STP 실행이 완료되었음을 보여줍니다. Execute SQL Task가 필수 저장 프로 시저와 함께 몇 가지 추가 단계를 실행하는지 어떤 아이디어가 있습니까?SQL 실행 작업 저장 프로 시저 완료 후 실행 계속

+2

왜 SSIS 또는 SQL 실행 작업에 문제가 있다고 생각합니까? 커서를 사용하는 것은 매우 강한 냄새입니다. 커서를 필요로하는 것은 매우 많습니다. 유일한 유효한 시나리오 인 일괄 처리는 SSIS datalfow에 의해 처리됩니다. 커서가 완성되는 데 걸리는 시간이 동등한 SQL 문보다 오래 걸리기 때문에 스토어드 프로 시저는 생각할 때 종료되지 않을 가능성이 높습니다. 최악의 경우, 커서를 사용하면 몇 시간 동안 전체 테이블을 잠그므로 다른 문장으로 라이브 록이 발생합니다. –

+0

코드를 게시하거나 수행하려는 내용을 알려주십시오. 우리에게 무슨 일이 일어나고 있는지 그리고 더 나은 해결책을 찾을 수있는 좋은 아이디어를 줄 것입니다. –

+0

또한 SP> –

답변

0

해결 방법 :) 기본적으로 SQL 저장 프로 시저에서 인쇄 문을 거의 사용하지 않았고 SSIS에서 이러한 저장된 procs를 실행하고 있었기 때문에 실행 후 지워지는 버퍼를 생성합니다. 나는 SSIS에서 저장된 proc과 실행 시간의 Print stmts가 SSMS의 실행 시간과 같다고 해설했다.

나를 도와 주셔서 감사합니다.

감사합니다.

관련 문제