2

무슨 일이 일어나는지 알아 내려고하고 있습니다. 다음은 우리의 설정입니다. 서로 복제되는 4 개의 SQL 서버가 있습니다.SQL Server 2008 오류 18452 로그인이 신뢰할 수없는 도메인에서 제공되어 Windows 인증에 사용할 수 없습니다.

Windows Active Directory에 새 사용자를 추가하고 기존에 사용해온 SQL Server에 그룹을 추가합니다.

새 사용자는 Windows 인증을 사용하여 인증을 시도 할 때 제목 줄에 오류를 반환합니다. 그러나 이전에 Active Directory에 있던 모든 사용자가 정상적으로 작동합니다.

한참 전에이 오류로 인해 로그인 할 수없는 사용자 그룹이있는 SQL Server를 "발견했습니다"라고 생각했습니다. SPN에 몇 가지 변경을 가한 다음 아무도 로그인 할 수 없도록 만들었습니다. 그런 다음 SPN이 어떻게 보이고 고쳐야 하는지를 깨달았습니다. 그런 다음 마술이 생겨서 사용자가 인증 할 수 있었던 것 같습니다. 나는 그것이 고쳐 졌다고 생각했지만 분명히 한 명의 새로운 사용자를 추가해야하고 인증 할 수 없기 때문에 분명하지 않습니다.

흥미로운 점은 사용자가 4 개의 SQL Server 중 3 개를 사용하여 인증 할 수 있다는 것입니다. 이 서버는 잘못 작동하고 있습니다. 이 SQL 서버에서 SQl 서비스 용으로 두 개의 SPN을 설정했습니다.

그들은처럼 -

MSSQLSvc/[서버 이름] [도메인] .local의 :. 1433

MSSQLSvc/[서버] : 1433

은이 실제로 서비스 계정에 등록되는 우리 SQL Server에 사용하십시오. 흥미로운 점은 어디에서나 작동하는 서버에 대한 SPN을 찾을 수 없다는 것입니다.

도움이 될 것입니다.

편집 : SQL 서버에 로그인으로 직접 사용자를 추가하려고하면 또 다른주의 사항이 있습니다. 로그인을 마우스 오른쪽 버튼으로 클릭하고 로그인 추가를 클릭 한 다음 검색을 클릭하십시오. 그런 다음 [Domain] \ [Username]을 입력하고 이름을 클릭하십시오. 이름이 올바른지 확인합니다. 그런 다음 확인을 클릭합니다. 그런 다음 다시 확인하고 Windows NT 사용자 또는 그룹 '[도메인] \ [사용자 이름]'오류를 찾을 수 없습니다. 다시 이름을 확인하십시오.

답변

3

나는 그것이 수정되었다고 생각했지만, 분명히 새로운 사용자 1 명을 추가해야했기 때문에 그렇지 않았습니다. 그들은 인증 할 수 없습니다.

사용자는 새 그룹을 선택하기 위해 다시 로그인해야합니다. 그렇지 않으면, 커버 로스 티켓은 여전히 ​​PAC

이 실제로 우리가 는 SQL 서버에 사용하는 서비스 계정에 등록되어있는 오래된 그룹 구성원 정보를 사용합니다. 흥미로운 점은 어디서나 작동하는 서버가 인 SPN을 찾을 수 없다는 것입니다.

나는 SPN 설정이있는 SQL Server가 하나 있고 다른 세 SQL Server는 SPN 설치가 전혀없는 것으로 생각합니다. 따라서이 특정 서버에서 Kerberos를 사용하고 다른 세 서버에서는 NTLM을 사용하게됩니다.

앞에서 언급했듯이 Kerberos를 사용할 때 일부 도구를 사용하여 티켓을 제거하거나 새 그룹 구성원을 선택하기 위해 다시 로그인해야합니다. 화면을 잠근 다음 잠금을 해제 할 수도 있습니다. 내가 올바르게 기억하면 티켓을 새로 고침해야합니다.

NTLM은 Kerberos와 달리 그룹 memberhsip 데이터를 전달하지 않습니다. SQL Server가 NTLM을 사용하여 사용자를 인증하면 방금 추가 한 새 그룹을 포함하여 인증 된 사용자의 그룹 구성원이 검색됩니다.

+0

이것이 정확히 대답이 아니었지만 올바른 방향으로 이끌었습니다. 그것은 인증하기 위해 다른 방법을 사용하려고한다는 사실을 지적했습니다. 그래서 내가해야 할 일은 Active Directory에 있었는데 Kerberos에 대한 위임을 위해이 SQL Server를 신뢰할 수 있도록 허용했습니다. 새로운 사용자를 추가하고, 로그인 한 다음 SQL Server를 통해 즉시 인증 할 수있었습니다. 감사합니다. – bigphildogg86

+0

답을 수락 해 주셔서 감사합니다. 한 가지를 명확히하고 싶습니다. kerberos에 대한 위 임용으로 SQL Server를 신뢰할 수 있도록 허용하면 SQL Server가 최종 사용자를 가장 할 수 있고 SQL 서버는 가장 된 토큰을 사용하여 네트워크의 다른 서버와 통신 할 수 있습니다. 아마, 나는 아직도 너의 상황을 이해하지 못한다. 이 권한을 SQL Server에 정상적으로 부여 할 필요는 없습니다. 일반적으로 웹 서버에서는 웹 서버가 최종 사용자로 가장해야하고 최종 사용자 ID를 사용하여 SQL Server에 연결해야하기 때문에이 작업이 필요합니다. –

+0

오 ... 흠, 그 때 흥미 롭습니다. 무슨 일이 있었는지 확실하지 않습니다. 하지만 네, 원래 응답에서 네가 그때 그들과 같이 로그인 사용자를 추가했다 그것은 여전히 ​​작동하지 않았다. 이 SQL Server가 사용자의 업데이트 목록을 얻지 못하는 것 같았습니다. 이벤트 로그에서 사용자 이름이 실패했을 때 비어 있기 때문에 호기심이 생겼습니다. 그것은 내가 추가하려고하는 사람조차 인식하지 못했기 때문입니다. 내가 생각할 수있는 유일한 것은이 서버가 도메인에 있지만 어쨌든 설정에서 손상되었다는 것입니다. – bigphildogg86

관련 문제