SQL 서버 연결

망태기군 2020.07.13 18:35 Views : 886

안녕하세요?? 저희는 약국 POS 관리하는 업체입니다.

약국 전산상에 있는 MS-SQL 2014 EXPRESS DB서버와 POS 간의 통신에서 문제가 생겨 문의 드립니다. Log 확인결과 


"System.Data.SqlClient.SqlException (0x80131904): 연결이 끊겼고 복구할 수 없습니다. 클라이언트 드라이버에서 한 번 이상 연결을 복구하려고 했지만 모두 실패했습니다. "


라는 메세지가 찍히며, 어플리케이션이 멈추고 약 30초에서 1분간 동작을 하지 않습니다.

문제는 위와같은 문제가 산발적으로 발생하며 일정시간이 지나면 정상 작동 된다는 것입니다. 

위 SqlException 번호를 확인해보니 SQL서버와 통신이 끊기겨서 발생하는 현상이라고 합니다. 

네트워크나 IP를 확인해보라고 하는데... 네트워크는 이상이 없고(Ping 잘떨어 집니다.) IP대신 컴퓨터명으로 사용하기 때문에 위 사항도 아닌듯 합니다. (무엇보다 평소에는 잘 되다가 갑자기 산발적으로 않된다고 하니... 미치겠스니다.)

혹시 세선이나 연결제한 등의 문제일까요?? 

혹 해결할 방법이 있을까요??

고수님들의 잠언을 기대합니다. ^^~



[에러 로그 앞뒤 부분]


2020-07-01 19:05:41,981 [INFO ] - [판매로그] 상품조회 쿼리 실행

2020-07-01 19:05:41,997 [INFO ] - [판매로그] 상품코드 : 8806436017214 상품명 : 페리덱스연고(덱사메타손) 단가 : 4000

2020-07-01 19:05:42,041 [INFO ] - [판매로그] 총 판매금액이 변동됨 - object : System.Windows.Forms.TextBox, Text: 4,000 EventArgs : System.EventArgs

2020-07-01 19:05:42,041 [INFO ] - [판매로그] 총 판매금액 : 4,000

2020-07-01 19:45:55,993 [ERROR] - 연결이 끊겼고 복구할 수 없습니다. 클라이언트 드라이버에서 한 번 이상 연결을 복구하려고 했지만 모두 실패했습니다. 복원 시도 횟수를 늘리려면 ConnectRetryCount 값을 높이십시오.

System.Data.SqlClient.SqlException (0x80131904): 연결이 끊겼고 복구할 수 없습니다. 클라이언트 드라이버에서 한 번 이상 연결을 복구하려고 했지만 모두 실패했습니다. 복원 시도 횟수를 늘리려면 ConnectRetryCount 값을 높이십시오. ---> System.Data.SqlClient.SqlException (0x80131904): SQL Server에 연결을 설정하는 중에 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 액세스할 수 없습니다. 인스턴스 이름이 올바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오. (provider: TCP Provider, error: 0 - 원격 컴퓨터가 네트워크 연결을 거부했습니다.) ---> System.ComponentModel.Win32Exception (0x80004005): 원격 컴퓨터가 네트워크 연결을 거부했습니다

   위치: System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling, SqlAuthenticationProviderManager sqlAuthProviderManager)

   위치: System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)

   위치: System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)

   위치: System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)

   위치: System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)

   위치: System.Data.ProviderBase.DbConnectionPool.ReplaceConnection(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)

   위치: System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)

   위치: System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)

   위치: System.Data.SqlClient.SqlInternalConnectionTds.TryReplaceConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)

   위치: System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)

   위치: System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)

   위치: System.Data.SqlClient.SqlConnection.OpenAsync(CancellationToken cancellationToken)

--- 예외가 throw된 이전 위치의 스택 추적 끝 ---

   위치: System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

   위치: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   위치: System.Data.SqlClient.SqlConnection.<ReconnectAsync>d__127.MoveNext()

ClientConnectionId:00000000-0000-0000-0000-000000000000

Error Number:1225,State:0,Class:20

   위치: System.Data.SqlClient.SqlConnection.<ReconnectAsync>d__127.MoveNext()

--- 예외가 throw된 이전 위치의 스택 추적 끝 ---

   위치: System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   위치: System.Data.SqlClient.AsyncHelper.WaitForCompletion(Task task, Int32 timeout, Action onTimeout, Boolean rethrowExceptions)

   위치: System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)

   위치: System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)

   위치: System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)

   위치: System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)

   위치: System.Data.SqlClient.SqlCommand.ExecuteReader()

   위치: BlueChannel.Framework.IO.Database.DatabaseCommand.QuerySql(String sql) 파일 C:\Users\ehgus\Desktop\20200521_1.0v\trunk\Framework\IO\Database\DatabaseCommand.cs:줄 447

ClientConnectionId:3b0524a3-db6f-4671-a086-6f9627ee7739

2020-07-01 19:45:56,224 [ERROR] - 연결이 끊겼고 복구할 수 없습니다. 클라이언트 드라이버에서 한 번 이상 연결을 복구하려고 했지만 모두 실패했습니다. 복원 시도 횟수를 늘리려면 ConnectRetryCount 값을 높이십시오.

System.Data.SqlClient.SqlException (0x80131904): 연결이 끊겼고 복구할 수 없습니다. 클라이언트 드라이버에서 한 번 이상 연결을 복구하려고 했지만 모두 실패했습니다. 복원 시도 횟수를 늘리려면 ConnectRetryCount 값을 높이십시오. ---> System.Data.SqlClient.SqlException (0x80131904): SQL Server에 연결을 설정하는 중에 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 액세스할 수 없습니다. 인스턴스 이름이 올바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오. (provider: TCP Provider, error: 0 - 원격 컴퓨터가 네트워크 연결을 거부했습니다.) ---> System.ComponentModel.Win32Exception (0x80004005): 원격 컴퓨터가 네트워크 연결을 거부했습니다

   위치: System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)

   위치: System.Data.ProviderBase.DbConnectionPool.ReplaceConnection(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)

   위치: System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)

   위치: System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)

   위치: System.Data.SqlClient.SqlInternalConnectionTds.TryReplaceConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)

   위치: System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)

   위치: System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)

   위치: System.Data.SqlClient.SqlConnection.OpenAsync(CancellationToken cancellationToken)

--- 예외가 throw된 이전 위치의 스택 추적 끝 ---

   위치: System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

   위치: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

   위치: System.Data.SqlClient.SqlConnection.<ReconnectAsync>d__127.MoveNext()

ClientConnectionId:00000000-0000-0000-0000-000000000000

Error Number:1225,State:0,Class:20

   위치: System.Data.SqlClient.SqlConnection.<ReconnectAsync>d__127.MoveNext()

--- 예외가 throw된 이전 위치의 스택 추적 끝 ---

   위치: System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

   위치: System.Data.SqlClient.AsyncHelper.WaitForCompletion(Task task, Int32 timeout, Action onTimeout, Boolean rethrowExceptions)

   위치: System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)

   위치: System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)

   위치: System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)

   위치: System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)

   위치: System.Data.SqlClient.SqlCommand.ExecuteReader()

   위치: BlueChannel.Framework.IO.Database.DatabaseCommand.QuerySql(String sql) 파일 C:\Users\ehgus\Desktop\20200521_1.0v\trunk\Framework\IO\Database\DatabaseCommand.cs:줄 447

ClientConnectionId:3b0524a3-db6f-4671-a086-6f9627ee7739

...



No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 2148
10629 응용프로그램과 SQL Management 에서의 쿼리 실행 차이 [2] 울어욥 2020.08.20 469
10628 각 컬럼 별 중복된 컬럼 카운트 하는 쿼리를 어떻게 짜야할까요? 두루미 2020.08.14 408
10627 갑작스런 Timeout 에러 관련해 질문드립니다. [1] 울어욥 2020.08.05 564
10626 Lock, 트랜잭션에 관련하여 질문이 있습니다. [2] 울어욥 2020.08.05 681
10625 bcp 로 생성된 파일을 복원하기 질문입니다. [1] 희망나라 2020.07.26 527
10624 학생별 연속된 년도,학기의 수를 구하고 싶습니다.. [2] 개발자혁이 2020.07.22 723
10623 쿼리 결과를 서버로 올릴때 질문입니다. [2] 희망나라 2020.07.20 496
10622 차등 백업이 풀백업 이후 한번만 진행되는 현상 [1] 레몽 2020.07.20 526
10621 CONVERT 함수 문의드립니다. [5] 초보SQL러 2020.07.20 483
10620 테이블에서 여러가지 조건 검색 질문 좀 할게요 [3] 엘리사 2020.07.17 495
10619 저기요...sql비교연산자에서요.... ☞☜ [1] 김포천재 2020.07.16 500
10618 테이블상 동일한 여러개의 로우에 조건을 검색하여 데이터를 찾을수있을까요? [1] 뽀구 2020.07.15 388
10617 중복시간을 제외한 시간의 합을 구할수있을까요? [7] 톰슨 2020.07.14 764
» SQL 서버 연결 [1] 망태기군 2020.07.13 886
10615 SQL 특정 시간 날짜 Sum 문의 입니다. [1] 핸젤루 2020.07.07 653
10614 쿼리 질문합니다... 병든토끼 2020.07.07 357
10613 db 백업? 이중화? 질문 [2] 하이욧 2020.07.06 485
10612 인덱스를 위한 교재 추천 부탁 드립니다. [2] 대두개발자 2020.06.29 616
10611 2개의 테이블을 union all 로 조회 후 합치고 싶습니다. [2] 초보SQL러 2020.06.25 467
10610 사용자 이(가) 로그인하지 못했습니다. 원인: 명시적으로 지정된 데이터베이스를 열지 못했습니다. 마징고 2020.06.24 499





XE Login