만료 메시지 문제 해결

시간 제한 때 뭔가 시간이 허용 하는 것 보다 오래 걸립니다. 기본적으로 하지 무기한 대기 및 가능한 다른 작업을 차단 하 고 응용 프로그램을 중지 하는 어떤 셔 중단 됩니다. 기본적인 형태에서 연결의 관점에서 이것을 두 가지 방법으로 볼 수 있습니다. 하나는 연결 시간 제한, 쿼리 시간 제한입니다. 따라서 연결 시간 제한 또는 명령 제한 시간 인지 확인 하는 오류 메시지의 완전 한 호출 스택을 먼저 검토 해야 합니다.

참고

코드, 연결 문자열 및 다른 방법을 통해 설정할 수 있는 이러한 매개 변수에 대 한 기본값은 다음과 같습니다. 연결 시간 제한-15 초 쿼리 또는 명령 제한 시간-30 초

System.Data.SqlClient.SqlException: 제한 시간이 만료 되었습니다. 작업을 완료 하기 전에 제한 시간이 경과 하거나 서버가 응답 하지 않습니다.  System.Data.SqlClient.SqlInternalConnection.OnError (SqlException 예외, 부울 breakConnection)에  System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj)에서  System.Data.SqlClient.TdsParserStateObject.ReadSniError (TdsParserStateObject stateObj, UInt32 오류)에  System.Data.SqlClient.TdsParserStateObject.ReadSni (asyncResult DbAsyncResult, TdsParserStateObject stateObj)에서  System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()에서  System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake에서 (암호화 부울, 부울 trustServerCert 부울 값 및 marsCapable)  System.Data.SqlClient.TdsParser.Connect에서 (ServerInfo serverInfo, SqlInternalConnectionTds connHandler, ignoreSniOpenTimeout 부울, Int64 timerExpire 부울 암호화 trustServerCert 부울, 부울 integratedSecurity SqlConnectionowningObject)  System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin (ServerInfoserverInfo, newPassword 문자열, 부울 ignoreSniOpenTimeout, i n t 64 timerExpire, SqlConnection owningObject)에  System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover (문자열 호스트, newPassword 문자열, 부울 redirectedUserInstance, SqlConnection owningObject, 포트가 connectionOptions, i n t 64 timerStart)에  System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist (SqlConnection owningObject, 포트가 connectionOptions, newPassword 문자열, 부울 redirectedUserInstance)에  System.Data.SqlClient.SqlInternalConnectionTds... ctor (DbConnectionPoolIdentity identity, 포트가 connectionOptions, providerInfo 개체, 문자열 새 암호, SqlConnection owningObject, 부울 redirectedUserInstance)  System.Data.SqlClient.SqlConnectionFactory.CreateConnection (DbConnectionOptions 옵션, 개체 poolGroupProviderInfo, DbConnectionPool 그룹, owningConnection 체계)에  System.Data.ProviderBase.DbConnectionPool.CreateObject (체계에 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (owningConnection 체계, DbConnectionPool 풀 옵션 DbConnectionOptions)에 owningObject)에 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (owningObject 체계)  System.Data.ProviderBase.DbConnectionPool.GetConnection (owningObject 체계)에  System.Data.ProviderBase.DbConnectionFactory.GetConnection (owningConnection 체계)에  System.Data.ProviderBase.DbConnectionClosed.OpenConnection (체계 outerConnection, DbConnectionFactory connectionFactory)에서  System.Data.SqlClient.SqlConnection.Open()에서 <-함께 열린 SqlConnection 알려줍니다 연결 하려고 하. 따라서이 관련이 없는 쿼리 합니다.

System.Data.SqlClient.SqlException: 제한 시간이 만료 되었습니다. 작업을 완료 하기 전에 제한 시간이 경과 하거나 서버가 응답 하지 않습니다.  System.Data.SqlClient.SqlConnection.OnError (SqlException 예외, 부울 breakConnection)에  System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj)에서  System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, cmdHandler SqlCommand, SqlDataReader 데이터 스트림, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)에서  System.Data.SqlClient.SqlDataReader.ConsumeMetaData()에서  System.Data.SqlClient.SqlDataReader.get_MetaData()에서  (CommandBehavior cmdBehavior, RunBehavior runBehavior, System.Data.SqlClient.SqlCommand.RunExecuteReaderTds에 System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds, RunBehavior runBehavior, resetOptionsString 문자열)에 ReturnStream 부울, 부울 비동기)  System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, returnStream Boolean, String 메서드와 DbAsyncResult 결과)에  System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, returnStream 부울, 문자열 방법)에  System.Data.SqlClient.SqlCommand.ExecuteScalar()에서 <-SqlCommand 연결이 아닌 쿼리를 사용 하는 데 사용 됩니다. ExecuteScalar 실제로 쿼리를 실행 하는 데 사용 됩니다. 예를 들어 ExecuteReader ExecuteNonQuery 같은 다른 항목 에서도 볼 수 있습니다.

해결 단계:

이러한 문제는 모두 환경 또는 SQL Server 관련 될 수 있습니다. 예를 들어, 느린 네트워크 또는 쿼리 성능 문제가 발생할 수 있습니다. 여기서 수행할 수로 하드 및 빠른 규칙이 없습니다 하 고 자세한 조사 무엇이 문제 문제 수에 대 한 필요할 수 있습니다. 쿼리 제한 시간을 늘리면는 연결 시간 제한을 키우는 것 보다 더 일반적입니다. 데이터 원본에 연결할 때 연결 일반적으로 매우 빠르게 수행 (일반적으로 몇 밀리초 범위) 내에서 때문입니다.

타이핑

시도할 작업

연결 시간 제한

  1. ConnectionTimout 응용 프로그램 수가 증가 합니다.

  2. Portqry 같은 도구를 사용 하 여 네트워크에서 SQL 사용 하는 포트 차단 됩니다 확인 하십시오.  사용 하는 방법에 대 한 지침은 아래에 "PortqryUI를 사용 하 여 SQL Server 사용 하는 도구" 옵션을 선택 합니다.

명령 제한 시간

  1. 응용 프로그램에서는 값을 늘리고 백엔드에서 실행 가져오는 쿼리도 조정.

더 많은 팁 및 제안 사항에 대 한 확인: 문제 해결: 제한 시간이 만료 되었습니다.

이렇게 하여 문제가 해결되었습니까?

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

소중한 의견에 감사드립니다.

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×