1

저는 주로 (2005 인스턴스와 2000을 사용하는) 두 개의 SQL Server를 가지고 있습니다. 내 권한 구조는 다음과 같이 작동합니다.SQL Server 사용자와 연결된 Active Directory 계정을 쿼리하려면 어떻게합니까?

먼저 Active Directory 그룹을 만든 다음 필요한 모든 사용자를 추가합니다. 그런 다음 SQL-MS로 이동하여 Windows 인증 옵션을 선택한 다음 방금 만든 AD 그룹을 선택하여 사용자를 추가합니다. 이 게시물에 대해 필자는 아니지만 새로운 로그인 계정을 모든 필요한 데이터 테이블, 뷰 및 SP와 연관시킵니다.

그룹을 선택한 후 참조 용 AD 그룹의 이름으로 필드에 항상 로그인 이름을 남겨 두었습니다.

최근 AD 그룹 이름을 변경했습니다. 데이터베이스는 계속 작동하며 SQL Server는 SQL 로그인을 연결할 AD 그룹을 알게됩니다. 내 문제는 로그인 이름이 SQL Server에서 업데이트되지 않았기 때문에 어떤 AD 그룹이 SQL Server 로그인 계정과 연관되어 있는지 전혀 알지 못합니다!

실행할 수있는 쿼리가 있습니까? 아니면이 계정과 연결된 AD 그룹을 찾는 데 도움이되는 설정이 묻혀 있습니까?

- 편집 - 귀하의 답변

감사의 대응을. 당신은이 질문에 대답했지만 다른 질문은 posted here이라고 선전되었습니다.

+0

2005 년 현재까지 두 가지 좋은 대답이 있습니다. SQL 2005와 SQL 2000 모두에 대한 솔루션이 필요하다는 것을 반영하여 질문을 업데이트했습니다. 두 경우에 대한 솔루션을 제공하는 첫 번째 방법은 솔루션 확인을 얻습니다. – RLH

+0

내가 말했듯이 2000 년의 전체 보안 하위 시스템은 완전히 다르기 때문에 2000 년뿐만 아니라 2005/2008/2002 R2 버전에도 적용되는 솔루션이있을 것입니다. –

답변

1

시스템에 정의한 Windows 그룹을 로그인으로 확인할 수 있습니다.

SELECT * 
FROM sys.server_principals 
WHERE type_desc = 'WINDOWS_GROUP' 

SQL 서버에만 2005 새로운에서 작동합니다.

하지만 실제 AD 그룹 이름받지 않습니다 - 해당 그룹에만 "SID"를 ...

전체 보안 시스템이 SQL 서버 2000에서 매우 달랐다 - 나는 생각하지 않는다 내가 것 생각할 수있는 가장 좋은 :-) 오래된 공룡에 대한 1 당량 쿼리 : 1 거기

SELECT * 
FROM master.dbo.sysxlogins 
WHERE password IS NULL 
    AND name IS NOT null 

그러나 불행하게도, 나는 윈도우 사이에 분리가 인식 할 방법이 없습니다 사용자 및 Windows 보안 그룹 여기 ....

+0

Nicole의 대답에 제 질문을 참조하십시오. – RLH

+0

"업그레이드 시간". 그래, 나는 동의한다.그러나 기업의 '신들'은 항상 마이그레이션이 느려서 Windows XP에 여전히 걸려 있고 앞으로 3 년 동안 계속 될 것입니다 (현실적으로!) – RLH

+0

빙고! 고마워요 마크! – RLH

2

AD 그룹과 SQL Server 로그인 간의 매핑은 using the group's SID입니다. sys.server_principals을 사용하여 SID가있는 로그인 목록을 볼 수 있습니다. 기존 로그인의 이름을 변경하려면 ALTER LOGIN을 사용할 수 있습니다.

+0

EDIT - Is SQL 2000 용 sys.server_principals 테이블과 동일한 기능이 있습니까? 방금 쿼리를 시도했는데 존재하지 않는다고 들었습니다. 그러나 동일한 쿼리가 SQL 2005 서버에서 작동했습니다. – RLH