지정된 네트워크 이름을 더 이상 사용할 수 없습니다


10

데이터베이스에 액세스하는 응용 프로그램이 있습니다 (Sql Server 2014 Enterprise Edition). 응용 프로그램은 스토어드 프로 시저를 호출하여 데이터베이스에 액세스합니다. 최근에 다음 오류 전송을 시작하고 응용 프로그램을 중지 할 때까지 모든 것이 제대로 작동했습니다. 앱을 다시 시작하면 일시적으로 문제가 해결되지만 같은 오류가 발생합니다.

오류 : 서버에서 결과를 수신 할 때 전송 레벨 오류가 발생했습니다. (공급자 : TCP 제공 업체, 오류 : 0-지정된 네트워크 이름을 더 이상 사용할 수 없습니다.)

나는 대부분의 연구가 네트워크 문제로 지적했지만 실제로 문제를 해결할 수있는 것을 찾을 수 없었습니다. 이 문제를 해결하려면 데이터베이스 쪽에서 어떤 변경을해야하는지 아는 사람이 있습니다. 나는 어떤 제안이라도 대단히 감사합니다.

답변:


8

드문 드문 DNS 확인 문제 또는 오래 실행되는 쿼리처럼 들립니다.

DNS 문제 해결

Band-Aid 및 문제 해결 지원으로 c : \ windows \ system32 \ drivers \ etc에있는 SQL Server가 아닌 앱 서버의 호스트 파일에 항목을 추가하고 추가하십시오.

SQLServerIPAddress SQLServerName

예:

172.16.0.5 ProductionSQLBox

이렇게하면 이름 확인과 관련된 실제 문제를 찾을 때까지 호스트 파일이 SQL Server 이름을 확인합니다.

명령 줄을 통해 앱 서버에서 SQL 상자를 핑하여 호스트 파일을 확인하고 테스트하십시오. 또는 제어판에서 ODBC 관리자를 사용하여 DSN을 번갈아 작성하고 연결을 테스트하십시오.

장기 실행 쿼리

SQL Server에 연결하는 응용 프로그램 연결 문자열에 대해 더 긴 명령 시간 초과 값 을 구현하십시오 .

<connectionStrings> 
    <add name="webconfigconnectionString" connectionString="server=SQLServerName;database=dbName;uid=u‌​serName;password=ABC‌​123;Timeout=120" />
</connectionStrings>

6

이것은 데이터베이스 문제가 아닙니다. 이 문제를 해결할 수있는 데이터베이스 측에는 변경 사항이 없습니다. 이 오류는 높은 네트워크 대역폭 또는 응용 프로그램 오류로 인해 발생합니다. 이 오류를 회사의 Wintel / Network 팀에 전달하는 것이 좋습니다. 네트워크 스위치를 변경하거나 네트워크 대역폭을 관리하여이 오류를 중지 할 수 있습니다.


3

이것은 응용 프로그램 문제처럼 보입니다.

내 의견은 응용 프로그램이 SQL 연결을 항상 사용할 수 있다고 가정한다는 것입니다 (명령을 실행하기 전에 검사 또는 테스트하지 않음).

재현하려면 단순히 SQL 서버에서 SQL 세션을 종료하면 얻을 수 있습니다. 매우 동일 비슷한 메시지.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.