none
SQL Server 에 원격 접속시 전달되는 에러메세지에 대해서 RRS feed

  • 질문

  • 현재 하나의 프로그램에서 SQL Server 2003 에 30개의 클라이언트 세션이 연결을 하고 있습니다.

    프로그램에서 연결할 때에는 MS SQL 라이브러리를 직접 사용하고 있으며 현재 라이브러리에서 에러나 메세지가 발생하면

    저희 프로그램에 콜백하여 전달하도록 되어있습니다.

     

    지금 문제가 되거나 알고 싶은것은 라이브러리부터 전달되는 세가지 에러 메세지에 대한 것인데 아시는 사항이 있으시면

    꼭 답변 좀 부탁드립니다.

     

    1. 다음과 같은 에러 3개가 한번에 나옵니다. 이러한 에러가 나오면 더이상 DB 사용이 불가능하여 SQL 을 재연결해야합니다.

    19:50:13 - DB-Library error : 네트워크 오류: SQL Server에 쓸 수 없습니다.  일반 네트워크 오류입니다. 설명서를 참조하십시오.
    19:50:13 -   Net-Lib error 10054 : ConnectionWrite (send()).
    19:50:13 -   Operating-system error : ConnectionWrite (send()).

     

    2. 다음과 같은 라이브러리 에러 메세지가 자주 출력되는데 연결이나 DB 사용상에는 문제가 없습니다.

           * 데이터 변환 결과 오버플로가 발생했습니다.

        현재 select 쿼리문에서 convert 라는 함수를 사용하여 날짜정보를 문자열로 변경하여 2 ~ 3천개씩 쿼리하는 경우가 있습니다.

        유추해보건데 그 과정에서 발생하는 에러인것같습니다만 어떻게 해결할 수 있는 방법이 없을까요?

     

    3. 간헐적으로 다음과 같은 에러가 나옵니다. 클라이언트 유저가 연결만 해놓고 사용하지 않아서 서버가 끊는 것으로 추측했으나

        사용이 전혀 없는 밤시간에는 이러한 문제가 발생하지 않아서 그러한 문제는 아닌 것 같습니다. 또한 해당 에러가 발생한 시점이

        update 문을 쿼리했던 시점이라고 추측되어서 select 쿼리가 시간이 많이 걸려서 생긴 문제로도 보기가 힘든것 같습니다.

         * SQL Server 연결 시간이 초과되었습니다.

     

    이 문제에 대하여 하나라도 아신다면 답변 부탁드립니다. 많은 분들이 많은 답변을 달아주셨으면 좋겠습니다.

    감사합니다.

    2012년 1월 13일 금요일 오전 2:24

모든 응답

  • 안녕하십니까? 팁스웨어 님

    Microsoft MSDN Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “SQL Server 에 원격 접속시 전달되는 에러메세지에 대해서”에 대한 답변을 드리겠습니다.

     

    1.   다음과 같은 에러 3개가 한번에 나옵니다. 이러한 에러가 나오면 더이상 DB 사용이 불가능하여 SQL 을 재연결해야합니다.

     

    19:50:13 - DB-Library error : 네트워크 오류: SQL Server에 쓸 수 없습니다.  일반 네트워크 오류입니다.   

    19:50:13 - Net-Lib error 10054 : ConnectionWrite (send()).

    19:50:13 - Operating-system error : ConnectionWrite (send()).

     

    >>  아래 참고 자료를 참고해서 해결하시길 바랍니다.

        참조자료

        http://msdn.microsoft.com/ko-kr/library/aa937499(v=SQL.80).aspx

     

    2. 다음과 같은 라이브러리 에러 메세지가 자주 출력되는데 연결이나 DB 사용상에는 문제가 없습니다.

     

     * 데이터 변환 결과 오버플로가 발생했습니다.

       현재 select 쿼리문에서 convert 라는 함수를 사용하여 날짜정보를 문자열로 변경하여 2 ~ 3천개씩 쿼리하는 경우가 있습니다.

       유추해보건데 그 과정에서 발생하는 에러인것같습니다만 어떻게 해결할 수 있는 방법이 없을까요?

     

    >>  위의 에러가 발생하는 경우는 3가지 입니다.

        1. 할당, 계산 또는 데이터 형식 변환 결과가 너무 커서 해당 변수 형식에 허용하는 범위의 값으로 나타낼 수 없습니다.

        2. 속성에 대한 할당이 속성에서 허용하는 최대값을 초과합니다.

        3. 정수로 변환된 숫자를 계산에 사용하려고 했지만 그 결과가 정수보다 큽니다.

     

        2가지 해결방법을 제시해드리겠습니다.

        1. 더 큰 범위에 값을 가질 수 있는 변수 형식에 값을 할당하십시오.

        2. 할당이 속성 범위에 맞는지 확인하십시오.

     

        아래 모든 Transact-SQL 날짜/시간 데이터 형식 및 함수 사용에 대한 자료를 확인 하실수 있습니다.

        참조자료

        http://technet.microsoft.com/ko-kr/library/ms186724.aspx

     

    3. 간헐적으로 다음과 같은 에러가 나옵니다. 클라이언트 유저가 연결만 해놓고 사용하지 않아서 서버가 끊는 것으로 추측했으나 사용이 전혀 없는 밤시간에는 이러한 문제가 발생하지 않아서 그러한 문제는 아닌 것 같습니다. 또한 해당 에러가 발생한 시점이 update 문을 쿼리했던 시점이라고 추측되어서 select 쿼리가 시간이 많이 걸려서 생긴 문제로도 보기가 힘든것 같습니다.

       * SQL Server 연결 시간이 초과되었습니다.

     

    >> 일단 말씀하신바와 같이 해당 에러가 간헐적으로 나타나는 경우에 대한 정보를 드립니다.

       아래 URL을 통해서 참고하시길 바랍니다.

     

       참조자료

       http://support.microsoft.com/kb/328476/ko

     

       해당 질문은 좀 더 구체적인 정보가 필요할 것으로 보입니다.

       정확히 발생되는 시점, 로그, 개발 환경 등 명확히 해주시면 감사하겠습니다.

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.


    2012년 1월 14일 토요일 오후 5:50
    중재자
  • 안녕하십니까? 팁스웨어 
    Microsoft TechNet의 Forum 사이트를 방문해 주셔서 감사합니다.
     
    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다. 하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.

    2012년 1월 18일 수요일 오전 6:39
    중재자