>

문제

두 서버에서 두 테이블을 동기화 상태로 유지하기 위해 MergeTable 에 변경 사항을 추가하는 트리거가 있습니다. . 종종 병합 작업이 SQL Server에서 실행되어 변경 사항을 Progress linked 서버로 푸시합니다.

이 문제가 발생했을 때 연결 문제를 테스트하고있었습니다 :

<올>
  • 진행 DB 종료
  • 작업이 예상대로 실패합니다
  • 진행 DB 시작
  • 직접 수동으로 비활성화했다가 다시 활성화 할 때까지 작업이 Progress DB에 계속 연결되지 않습니다
  • 이 세 가지 메시지를 여러 번받습니다 :

    OLE DB provider "MSDASQL" for linked server "PROGRESS_TEST" returned message "[DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Server crash likely.". [SQLSTATE 01000]

    OLE DB provider "MSDASQL" for linked server "PROGRESS_TEST" returned message "[DataDirect][ODBC Progress OpenEdge Wire Protocol driver]Socket closed.". [SQLSTATE 01000]

    OLE DB provider "MSDASQL" for linked server "PROGRESS_TEST" returned message "[DataDirect][ODBC Progress OpenEdge Wire Protocol driver]Unexpected Network Error. ErrNum = 10054". [SQLSTATE 01000]

    내가 시도한 것

    sp_testlinkedserver 를 실행할 수 있습니다  오류가 발생하면 언제 발생하는지 감지 할 수 있습니다.

    Msg 7303, Level 16, State 1, Procedure sp_testlinkedserver, Line 1
    Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "PROGRESS_TEST".

    sp_dropserver 에게 전화를 했어요 sp_addlinkedserversp_testlinkedserver  빠른 연속으로 오류가 발생하지 않지만 작업이 실패하면 성공적으로 완료된 것으로 간주합니다.

    SQL/T-SQL을 처음 접했습니다. sp_reconnectlinkedserver 가 없습니다 ,이 문제를 직장 밖에서 복제 할 수 없습니다. 개별 프로 시저를 실행하면 데이터베이스가 백업 될 때 작동합니다. 나는 이것이 세션 문제라고 생각하지만 그것을 고칠 곳을 모르겠다.

    • 답변 # 1

      링크 된 서버를 쿼리하면 다시 연결되는 것 같습니다. sp_testlinkedserver 에게 전화하기  항상 작동하지는 않지만 select 문은 작동합니다.

      종종 다운 된 서버의 시작에서 다음 성공적인 작업 실행까지 2 분의 지연이 있습니다. 어쨌든 그것은 단순히 기다리는 문제입니다.

  • 이전 SQL Server 2012 Developer Edition을 SQL Server 2014로 업그레이드 하시겠습니까?
  • 다음 응용 프로그램 계층과 데이터베이스 계층간에 버전이 일치하지 않는 DB 설계