programing

SQL 서버의 연결 시간 초과

showcode 2023. 5. 5. 10:00
반응형

SQL 서버의 연결 시간 초과

에서 연결 문자열을 수정하여 시간 초과를 늘릴 수 있습니까?web.config?

예, 추가할 수 있습니다.;Connection Timeout=30연결 문자열에 입력하고 원하는 값을 지정합니다.

에서 설정된 시간 초과 값Connection Timeout속성은 초 단위로 표시되는 시간입니다.이 속성이 설정되지 않은 경우 연결 시간 초과 값은 기본값(15초)입니다.

또한 시간 초과 값을 다음으로 설정합니다.0연결 시도가 무한한 시간을 기다리도록 지정한 것입니다.설명서에서 설명한 것처럼 연결 문자열에 설정해서는 안 되는 내용입니다.

값이 0이면 제한이 없으며 연결 시도가 무기한 대기하므로 연결 문자열에서 사용하지 않도록 해야 합니다.

음...

다린이가 말했듯이, 당신은 더 높은 연결 타임아웃 값을 지정할 수 있지만, 나는 그것이 정말 문제인지 의심스럽습니다.

연결 시간 초과가 발생하면 일반적으로 다음 중 하나에 문제가 있습니다.

  1. 네트워크 구성 - 웹 서버/개발자 상자와 SQL 서버 간의 연결 속도가 느립니다.시간 초과를 늘리면 이 문제가 해결될 수 있지만 근본적인 문제를 조사하는 것이 좋습니다.

  2. 연결 문자열입니다.잘못된 사용자 이름/암호로 인해 "액세스 거부"를 나타내는 실제 오류 대신 시간 초과 오류가 발생하는 문제를 본 적이 있습니다.이런 일이 일어나서는 안 되지만, 인생은 그렇습니다.

  3. 연결 문자열 2: 서버 이름을 잘못 지정하거나 불완전하게 지정하는 경우(예:mysqlserver대신에mysqlserver.webdomain.com), 시간 초과가 발생합니다.명령줄에서 연결 문자열에 지정된 대로 서버 이름을 사용하여 서버를 ping할 수 있습니까?

  4. 연결 문자열 3: 서버 이름이 DNS(또는 호스트 파일)에 있지만 IP가 잘못되었거나 액세스할 수 없는 경우 시스템을 찾을 수 없는 오류가 아니라 시간 초과가 발생합니다.

  5. 호출 중인 쿼리가 시간 초과되었습니다.서버에 대한 연결이 문제인 것처럼 보일 수 있지만 앱 구조에 따라 시간 초과가 발생하기 전에 쿼리가 실행되는 단계까지 도달할 수 있습니다.

  6. 연결 누출.얼마나 많은 프로세스가 실행되고 있습니까?열린 연결 수는 몇 개입니까?생 ADO인지는 잘 모르겠습니다.NET은 연결 풀링을 수행하고, 필요한 경우 또는 모든 연결이 구성된 경우 연결을 자동으로 닫습니다.이것은 아마도 붉은 청어일 것입니다.그러나 WCF 및 웹 서비스를 사용할 때 시간 초과 및 기타 예측할 수 없는 동작을 유발하는 폐쇄되지 않은 연결 문제가 있었습니다.

시도할 사항:

  1. SQL Management Studio를 사용하여 서버에 연결할 때 시간 초과가 발생합니까?그렇다면 네트워크 구성이 문제일 가능성이 높습니다.Management Studio에 연결할 때 문제가 나타나지 않으면 서버가 아닌 앱에 문제가 있습니다.

  2. SQL Profiler를 실행하여 실제 상황을 확인합니다.실제로 연결하고 있는지 또는 쿼리가 문제인지 알 수 있어야 합니다.

  3. Management Studio에서 쿼리를 실행하여 시간이 얼마나 걸리는지 확인합니다.

행운을 빕니다.

동적으로 변경하려면 SqlConnectionStringBuilder를 사용하는 것이 좋습니다.

연결 문자열을 클래스 Object로 변환할 수 있습니다. 모든 연결 문자열 속성이 해당 멤버가 됩니다.

이 경우 실제 이점은 연결된 경우에 대해 걱정할 필요가 없다는 것입니다.연결 문자열에 시간 초과 문자열 부분이 이미 존재합니까?

또한 객체를 만들 때 문자열을 조작하는 것보다 객체에 값을 할당하는 것이 항상 좋습니다.

다음은 코드 샘플입니다.

var sscsb = new SqlConnectionStringBuilder(_dbFactory.Database.ConnectionString);

sscsb.ConnectTimeout = 30;

var conn = new SqlConnection(sscsb.ConnectionString);

언급URL : https://stackoverflow.com/questions/4308417/connection-timeout-for-sql-server

반응형