문제

SQL Server 2000 Standard Edition, SP3를 실행하는 오래된 Windows 2000 서버가 있습니다. 여기에는 ODBC 연결을 통해 Informix DB에 연결하는 링크 서버 설정이 있습니다. 연중 대부분의 경우 링크 된 서버에 대해 OpenQuery를 실행하는 것은 아무런 문제없이 잘 작동합니다. 그러나 몇 달 마다이 연결된 서버가 실패하며 SQL 서버가 재부팅 될 때까지 다시 작동하지 않습니다. Enterprise Manager에서 볼 수있는 오류는 다음과 같습니다.

---------------------------
SQL Server Enterprise Manager
---------------------------
Error 7399: OLE DB provider 'UNKNOWN' reported an error.  

Memory allocation failure.]
Memory allocation failure.]
OLE DB error trace [OLE/DB Provider 'UNKNOWN' IDBSchemaRowset::GetRowset returned 0x80004005:   ].
---------------------------
OK   
---------------------------

쿼리 분석기에서 링크 된 서버에 대해 SQL 쿼리를 실행하려고하면 다음과 같은 오류가 발생합니다.

[OLE/DB provider returned message: Unspecified error]
OLE DB error trace [OLE/DB Provider 'MSDASQL'
IDBCreateCommand::CreateCommand returned 0x80004005:   ].
Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' reported an error.

추적 플래그를 적용하면 참조 여기 좀 더 자세한 내용을 얻습니다.

OLE DB error trace [Non-interface error:  OLE DB provider MSDASQL
returned an incorrect value for DBPROP_CONCATNULLBEHAVIOR which should
be either DBPROPVAL_CB_NULL or DBPROPVAL_CB_NON_NULL].
[OLE/DB provider returned message: Unspecified error]
OLE DB error trace [OLE/DB Provider 'MSDASQL'
IDBCreateCommand::CreateCommand returned 0x80004005:   ].
Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' reported an error.

이것을 원인 할 수있는 것에 대한 아이디어가 있습니까? 우리는 서버 고장이나 설정 변경을 알지 못하며 재부팅은 항상이 문제를 해결하는 것으로 보입니다. Informix DB는 Version Informix Dynamic Server 2000 9.21.uc2 버전 인 것으로 보이며 옵션으로 사용할 수 없습니다.

도움이 되었습니까?

해결책

IDS 9.21은 지원이 오래 걸리지 않습니다. 실제로 9.30과 9.40 (ID의 후속 버전)도 지원하지 않습니다. 정치적 이유로 실제로 업그레이드를 할 수는없는 것처럼 보이지만 업그레이드 기한이 기한이 지났습니다.

SQL 서버 측의 어딘가에 메모리 누출이있는 것으로 보입니다.

아무것도 업그레이드 할 수없는 경우, 누적 된 메모리를 지우기 위해 주기적으로 SQL Server의 재부팅이 가장 간단하고 신뢰할 수있는 옵션입니다. 당신은 그것이 보통 한 번에 몇 달 동안 작동한다는 것을 암시하기 때문에, 나는 한 달에 한 번 재부팅을 볼 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top