- 원인 : MSSQL 2005 64bit에서 32bit의 SQL2000이나 SQL7.0으로 링크드 서버 연결할 때
- 서버환경
원격지 : Microsoft SQL Server 2005 Standard Edition (64-bit)
대상 : Microsoft SQL Server 2000 Standard Edition (32-bit)
- 에러메시지
----------------------------------------------------------------------------------------------------------------
연결된 서버 "ㅌㅌGameLog1"의 OLE DB 공급자 "SQLNCLI"이(가) 메시지 "지정되지 않은 오류입니다."을(를) 반환했습니다.
연결된 서버 "ㅌㅌGameLog1"의 OLE DB 공급자 "SQLNCLI"이(가) 메시지 "이 작업을 완료하는 데 필요한 저장 프로시저가 서버에 없습니다. 시스템 관리자에게 문의하십시오."을(를) 반환했습니다.
메시지 7311, 수준 16, 상태 2, 줄 1
연결된 서버 "ㅌㅌGameLog1"에 대한 OLE DB 공급자 "SQLNCLI"의 스키마 행 집합 "DBSCHEMA_TABLES_INFO"을(를) 가져올 수 없습니다. 공급자가 인터페이스를 지원하지만 이 인터페이스를 사용하면 오류 코드가 반환됩니다.
----------------------------------------------------------------------------------------------------------------
- 참고문헌
http://support.microsoft.com/kb/906954/ko
1. 위와같이 2005 64비트에서 2000 32비트로 링크드서버를 통해서 데이터를 끌어올 때 에러를 발생을 합니다.
2. 32비트 머신에서 '실행'에 cmd를 입력해서 윈도우커맨드창을 엽니다.
윈도우 커맨드창에 아래와 같이 입력합니다.
------------------------------------------------------------------------------------------------
osql -E -S "localhost" -i "C:\Program Files\Microsoft SQL Server\MSSQL\Install\instcat.sql"
------------------------------------------------------------------------------------------------
원본
osql -E -S <LinkedServerName> -i <Location>\instcat.sql
------------------------------------------------------------------------------------------------
3. 그러면 엄청난 숫자가 마구마구 나오고 마지막에
instcat.sql completed successfully.
가 입력이 되면서 끝이 납니다.
4. 그럼 아까 실행했던 원격문을 다시 실행하면 정상적으로 가져올 수 있는것을 확인할 수 있습니다.
'Programming > Database' 카테고리의 다른 글
Linked Server 원격프로시저 호출 (0) | 2009.05.29 |
---|---|
트랜잭션 로그 줄이기 (0) | 2009.05.11 |
임시테이블 존재여부 확인하기, 삭제하기 (0) | 2009.02.23 |
특정 프로시저와 연관있는 객체 찾기 (0) | 2009.01.23 |
특정객체 포함하는 프로시저 찾기 (1) | 2009.01.23 |