SSIS 신참 여기에 있습니다.ssis 임시 테이블 exec proc
마법사를 기반으로 만든 SSIS 패키지가 있습니다. 프로세스를 한 걸음으로 줄이기 위해 이전에 실행하고 있던 스크립트를 실행하기 위해 SQL 작업을 추가했습니다. 이 스크립트는 많은 임시 테이블과 마지막에 전역 ## temp를 사용하여 프로세스 외부에서 결과에 액세스 할 수 있도록합니다.
패키지를 실행하려고하면 복잡한 "패키지 유효성 검사 오류"(오류 코드 0x80040E14)가 나타납니다. 나는 오류 메시지의 작동 부분이 "잘못된 개체 이름 '## roster5'라고 생각합니다."
방금 오류를 던지고있는 데이터 흐름 작업임을 깨달았으므로 데이터 흐름 작업에서 테이블이 있음을 볼 수 있도록 다른 모든 작업 전에 테이블을 만들려고했습니다. 하지만 그것은 여전히 나에게 오류를주고있다 : "잘못된 개체 이름 '## ROSTER_MEMBER_NEW5'."
무엇이 잘못되었거나 잘못 되었습니까? 나는 내가 모르는 것을 모른다. 이것이 복잡하지 않아야하는 것처럼 보입니다. (초보자로서, 아마도 이것은 중복 된 것 같습니다. 그러나 다른 질문을 할 수있는 방법을 모르겠습니다.)
몇 가지 해결책이 있습니다. 먼저 ## roster5, ## roser) member_news5에서 예상되는 행 수를 말해주십시오. – plditallo
oops, ## roster5는 전체 이름의 줄임말입니다. 스크립트에 의해 생성 된 약 500 만 행이 있습니다. – hmmmmm
#temp 테이블을 테이블 변수 (예 : @temptable)로 변환하는 몇 가지 제안 사항이 표시됩니다. 옵티마이 저는 variable 테이블을 성능에 영향을 줄 수있는 단일 행이있는 테이블로 취급합니다. frmt off (https://stackoverflow.com/questions/1579476/using-temp-tables-in-ssis)와 같은 다른 제안도 볼 수 있습니다. 이것 역시 성능에 영향을 미칠 것입니다. 식별 할 수있는 스키마가있는 스테이징 테이블을 작성한 다음 채 웁니다. – plditallo