2009-12-02 10 views
2

SQL Server에 연결하는 데 사용 된 연결 문자열을 볼 수있는 방법이 있습니까? 또는 실패한 로그인 시도에 사용 된 문자열.SQL Server에 연결하는 데 사용 된 연결 문자열을 보는 방법

여러 번 SQL에 로그인하지 못하는 서비스로 인해 실패한 복잡한 시스템을 여러 번 처리합니다. 나는 연결 문자열이 잘못되었을 수도 있다고 생각하지만, 그게 무엇인지 알 수 없기 때문에 실제로 문제를 연결 한 사람이 누구인지 파악하여 문제를 재구성하고 수정하도록했습니다.

2009-12-01 20 : 16 : 31.05 로그온시 통합 보안으로 연결을 설정하는 동안 SSPI 핸드 셰이크가 실패하여 오류 코드 0x8009030c가 발생했습니다. 연결이 닫혔습니다. [CLIENT : 10.124.172.65] 2009-12-01 20 : 16 : 31.06 로그온 오류 : 18452, 심각도 : 14, 상태 : 1. 2009-12-01 20 : 16 : 31.06 로그온 로그온에 실패했습니다. 로그인은 신뢰할 수없는 도메인에서 발생하며 Windows 인증과 함께 사용할 수 없습니다. [CLIENT : 10.234.222.13]

문자열 자체를 분석하여 문자열의 문제점을 파악할 수 있도록 일부 감사 또는 연결 문자열을 스니핑 할 수있는 도구가 있습니까?

답변

2

아니요. 연결 문자열은 클라이언트 응용 프로그램과 SQL 클라이언트 라이브러리 사이의 문제 일 뿐이며 부족한 부분을 스누핑 할 수있는 기본 도구가 없습니다.

그러나이 예에서는 연결 문자열을 알 필요가 없습니다. 연결 문자열이 통합 보안 ('SSPI 핸드 셰이크'는 정의에 의한 것입니다.)을 사용하고 있었는지,이 오류가 기록 된 서버에 연결하려고했는지, 오류의 원인을 알고 있는지 (오류 SEC_E_LOGON_DENIED), 어떤 클라이언트가 연결을 시도했는지 알 수 있습니다 (10.234.222.13). 이 문제를 해결하는 데 도움이되는 연결 문자열에는 아무 것도 없습니다.

표시되는 오류는 SSPI 오류이며, 특히 Kerberos/NTLM 오류이므로 Kerberos/NTLM 도구 및 방법을 사용하여 오류에 접근해야합니다. 대부분은 아니지만 Kerberos/NTLM 문제는 Troubleshooting Kerberos Errors 문서를 사용하여 문제를 해결할 수 있습니다. 귀하의 경우에는

당신은 가능성이 일반적인 범인 중 하나를 찾을 수 있습니다 :

  • 서비스를 원격으로 연결을 시도하는 로컬 계정으로 실행. 신뢰할 수없는 도메인 경계를 넘어 만료 된 암호
+0

소리가 도움이 될 것 같습니다. 내 호스트 파일에서 일부 항목을 제거하면 문제가 사라진다는 것을 알았지 만 서비스를 실행하려면 해당 항목이 필요합니다. 닭고기와 달걀 문제. 어쩌면 내가 어떻게 든 다시 구성 할 수 있습니다 - 10.234.222.13 또는 뭔가 루프백 IP 대신 사용하십시오. –

0

먼저 실행

  • (대부분) 서비스를 연결하는
  • 시도는 상자에서이 작업을 수행하는 중앙 집중식 방법이 없습니다.

    그러나 이러한 유형의 문제는 관련 오류 로깅과 함께 모든 연결 및 트랜잭션 관리를 중앙 집중화하는 DAL을 갖는 데있어 중요한 부분입니다.

    SQL 프로파일 러는 정보를 제공 할 수도 있습니다. 문제를 디버그하기에 충분하지 않을 수도 있지만, 오류의 타이밍에 대한 힌트를 줄 수도 있습니다.

  • +0

    나는 웹 사이트를 열려고 할 때 타이밍에 문제가 없다.코드에 대한 지식이 거의 없으며 모든 프로젝트에서 사용할 수있는 솔루션을 원합니다. 따라서 연결 문자열을 파악하는 방법이 도움이 될 것입니다. 어쨌든 - 이번에는 다른 의견에서 언급 한 좋은 추측으로 해결할 수있었습니다. 내 호스트 파일에서 사이트 바인딩과 일치하도록 FQDN을 구성했으며 외부 인터페이스의 IP를 사용했습니다. 127.0.0.1로 수정 한 후 제대로 작동하기 시작했습니다. –

    관련 문제