2009-03-11 3 views
0

우리는 매 저녁/이른 아침에 연속적으로 실행되도록 예약 된 매우 많은 수의 SSIS 작업이 있습니다. 이러한 작업은 프로덕션 시스템에 대량의 데이터를 채우고 업데이트합니다. 최근에 우리는 서로 다른 시간에 다른 작업에 대한 오류 메시지를 받기 시작했습니다.SSIS SQL 네이티브 클라이언트 오류 - 원인을 진단 할 수 없습니다.

 
    Code: 0xC0202009  
    Source: [Job Name] Connection manager "[Connection.Manager.Name]" 
    Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. 
An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Communication link failure". 
An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Named Pipes Provider: No process is on the other end of the pipe. ". 
End Error 
Error: 2009-03-10 05:19:51.09 
    Code: 0xC00291EC  Source: Update record status Execute SQL Task 
    Description: Failed to acquire connection "[Connection.Manager.Name]". Connection may not be configured correctly or you may not have the right permissions on this connect... The package execution fa... The step failed. 

연결이 확실히 제대로 구성되어, 우리는 적절한 권한이있는 사용자로 실행 : 지금까지, 일관되게 재현하는 것은 불가능했다. 일 년 이상 동안,이 일은 완벽하게 수행되었습니다. Google 검색은 가능한 연결 문제에서부터 데이터 무결성 문제에 이르기까지 모든 것을 망라하는 결과를 보여줍니다. 우리는 연결 문제로 데이터 원본 끝에서이 작업을 시도하고 이벤트 로그를 검사하여 SQL Server 데이터베이스와 서버 상자에서이 작업을 시도했습니다. 아무것도 줄 지어 보이지 않습니다. 여기에 우리의 설정입니다 :

  • 우리는 단지 주택 및 실행 SSIS 작업에 SQL Server 2005를 하나의 서버 2003 상자를 바쳤다 우리는 우리의 주택 거기에 바로 SQL Server 데이터베이스와 함께 전용 서버 2003 상자가
  • 또한 데이터 서비스 보고서를보고 드실 수
  • 우리 작업의 대부분은 기록의 우리의 시스템에서 데이터를 얻을

가 가지고보고 및 데이터 조작에 대한 SQL Server로 쓰러 뜨리하기 위해 사이베이스 DB에 ODBC를 통해 연결 비슷한 사람에게서이 예외를 뛰어 넘는 사람 네? 다시 말하지만 SQL Server DB 및 Sybase 연결 문제를 해결하기 위해 노력했습니다.

답변

1

OLE DB가 당신에게 거짓말을한다면, 이것은 아무 것도 될 수 없습니다. 그것이 아니라면, 파이프의 다른 끝에 아무런 처리가 없을 수도 있습니다. 어쩌면 다른 프로세스가 죽었는지 확인하기 위해 이벤트 로그 등을 조사해야합니다.

프로덕션 환경에서 수년간 실행 된 프로세스조차도 다른 것이 변경되면 동작을 변경할 수 있습니다. 예를 들어, 백업 또는 다른 자동화 된 작업이 오래 걸릴 수 있으며 현재 SSIS 패키지의 기존 일정과 충돌합니다. 이러한 일은 "파이프의 다른 쪽 끝에 공정이 없습니다"라는 원인으로 열린 연결을 강제로 닫을 수 있습니다.

+0

두 상자의 로컬 이벤트 로그와 두 상자의 SQL Server 이벤트 로그를 확인했습니다. SSIS 로그의 어느 곳에서나 주목할만한 점은 없으며 위에 게시 한 오류 메시지가 표시됩니다. 그래서 우리는이 문제에 당황스러워합니다. –

+0

오류가 시간 슬롯 및 작업간에 건너 뛰는 사실은 도움이되지 않습니다. 어느 날 밤 우리는 실수를하지 않습니다. 다른 밤에는 반복적으로 발생합니다. –

+0

한 가지로, 죽어가는 과정 이외의 것이 그 오류를 일으킬 수 있는지 알아보기 위해 MS에 도움이되는 가치가있을 것입니다. 둘째, 프로세스 종료에 대한 감사를 켜고 상관 관계가 있는지 확인합니다. 최후의 수단 : technet의 sysinternals에서 procmon. 큰 출력, 훌륭한 세부 사항. –

2

우리의 경우에는 자원 경합이었습니다. 교착 상태는 다른 작업의 테이블 수준 잠금으로 인해 발생했습니다. Native Client 오류로 인해 처음에 무엇이 잘못되었는지 알려주지 못했습니다. SQL Server Profiler를 DB에서 실행하고 교착 상태 오류를 필터링해야했습니다. This 기사는 우리가 올바른 방향으로 나아갈 수 있도록 많은 도움을주었습니다.

희망하는 것이 도움이됩니다!

관련 문제