다음을 통해 공유


MSSQLSERVER_17832

적용 대상: SQL Server

세부 정보

attribute
제품 이름 SQL Server
이벤트 ID 17832
이벤트 원본 MSSQLSERVER
구성 요소 SQLEngine
심볼 이름 SRV_BAD_LOGIN_PKT
메시지 텍스트 연결을 여는 데 사용되는 로그인 패킷이 구조적으로 잘못되었습니다. 연결이 닫혔습니다. 클라이언트 라이브러리의 공급업체에 문의하세요.%.*ls

설명

SQL Server 컴퓨터에서 클라이언트 로그인 패킷을 처리할 수 없습니다. 이 문제는 패킷이 잘못 만들어졌거나 전송 중에 손상되었기 때문에 발생할 수 있습니다. SQL Server 컴퓨터의 구성으로 인해 발생할 수도 있습니다. 나열된 IP 주소는 클라이언트 컴퓨터의 주소입니다. 이 오류는 Windows 및 SQL 로그인 모두에 대해 발생할 수 있습니다.

추가 정보

Kerberos 환경에서 Windows 인증을 사용하는 경우 클라이언트는 PAC(Privilege Attribute Certificate)가 포함된 Kerberos 티켓을 받습니다. PAC에는 사용자가 구성원인 그룹, 사용자가 가진 권한 및 사용자에게 적용되는 정책을 포함하여 다양한 유형의 권한 부여 데이터가 포함됩니다. 클라이언트가 Kerberos 티켓을 받으면 PAC에 포함된 정보를 사용하여 사용자의 액세스 토큰을 생성합니다. 클라이언트는 로그인 패킷의 일부로 SQL Server 컴퓨터에 토큰을 제공합니다.

전송 중에 토큰이 잘못 생성되거나 손상된 경우 SQL Server는 문제에 대한 추가 정보를 제공할 수 없습니다.

사용자가 여러 그룹의 멤버이거나 많은 정책을 사용하는 경우 이러한 것들을 모두 나열하기 위해 토큰이 정상보다 커질 수 있습니다. 토큰이 서버 컴퓨터의 MaxTokenSize 값보다 커지면 클라이언트가 GNE(일반 네트워크 오류)와 연결하지 못하고 오류 17832가 발생할 수 있습니다. 이 문제는 일부 사용자(많은 그룹 또는 정책을 가진 사용자)에만 영향을 줄 수 있습니다. 서버 컴퓨터의 MaxTokenSize 값에 문제가 있는 경우 SQL Server 오류 로그의 오류 17832에 상태 9와 함께 오류가 발생합니다. Kerberos 및 MaxTokenSize에 대한 자세한 내용은 KB327825를 참조하세요.

사용자 작업

Windows 로그인의 경우 서버 컴퓨터의 MaxTokenSize 값을 조직의 사용자 중 가장 큰 토큰을 포함할 수 있을 만큼 큰 크기로 늘려 오류를 해결할 수 있습니다.

주의

레지스트리를 올바르게 편집하지 않으면 시스템을 심각하게 손상시킬 수 있습니다. 따라서 레지스트리를 변경하기 전에 컴퓨터의 중요한 데이터는 백업해 두는 것이 좋습니다.

서버 컴퓨터에서 MaxTokenSize를 변경하려면

  1. 시작 메뉴에서 실행을 클릭합니다.

  2. regedit를 입력한 후 확인을 클릭합니다. (있는 경우 사용자 계정 컨트롤 대화 상자가 나타나고 계속을 클릭합니다.)

  3. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters로 이동합니다.

  4. MaxTokenSize 매개 변수가 없으면 매개 변수를 마우스 오른쪽 단추로 클릭하고 새로 만들기가리킨 다음 DWORD(32비트) 값을 클릭합니다. 레지스트리 항목의 이름을 MaxTokenSize로 지정 합니다.

  5. MaxTokenSize를 마우스 오른쪽 단추를 클릭한 다음 수정을 클릭합니다.

  6. 값 데이터 상자에 원하는 MaxTokenSize 값을 입력합니다.

    참고 항목

    권장되는 최대 토큰 크기는 16진수 값 ffff(10진수 값 65535)입니다. 이 값을 제공하면 문제가 해결될 수도 있지만 컴퓨터 성능이 저하될 수 있습니다. 조직에서 사용자의 가장 큰 토큰을 허용하는 최소 MaxTokenSize 값을 설정하고 해당 값을 입력하는 것이 좋습니다.

  7. 확인을 선택합니다.

  8. 레지스트리 편집기를 닫습니다.

  9. 컴퓨터를 다시 시작하십시오.