OLE DB Provider for Microsoft Directory Services
Microsoft OLE DB Provider for Microsoft Directory Services를 사용하면 Microsoft Windows 2000 디렉터리 서비스의 정보에 액세스할 수 있습니다. 이 공급자를 사용하는 쿼리에 의해 반환될 수 있는 최대 개체 수는 1000입니다.
Windows 2000 디렉터리 서비스에 대해 연결된 서버를 만들려면
다음과 같이 provider_name으로 ADSDSOObject를 사용하고 sp_addlinkedserver 시스템 저장 프로시저의 data_source 인수로 adsdatasource를 사용하여 연결된 서버를 만듭니다.
EXEC sp_addlinkedserver 'ADSI', 'Active Directory Services 2.5', 'ADSDSOObject', 'adsdatasource' GO
Windows 인증 로그인의 경우 자체 매핑만으로도 SQL Server 보안 위임을 사용하여 디렉터리를 액세스하기에 충분합니다. sp_addlinkedserver를 실행하여 생성된 연결된 서버에 대해서는 기본적으로 자체 매핑이 만들어지므로 다른 로그인 매핑은 필요하지 않습니다.
SQL Server 인증 로그인의 경우 sp_addlinkedsrvlogin 시스템 저장 프로시저를 사용하여 디렉터리 서비스에 연결하기 위한 적절한 로그인과 암호를 구성할 수 있습니다.
[!참고]
가능하면 Windows 인증을 사용합니다.
디렉터리 서비스 쿼리
Microsoft OLE DB Provider for Microsoft Directory Services는 디렉터리 서비스를 쿼리할 수 있도록 두 명령 언어 LDAP과 SQL을 지원합니다. OPENQUERY 함수를 사용하여 디렉터리 서비스에 명령을 보내고 그 결과를 SELECT 문에서 사용할 수 있습니다.
[!참고]
Microsoft 디렉터리 서비스용 Microsoft OLE DB 공급자는 Integration Services에서 직접 LDAP 쿼리를 지원하지 않습니다. 대신 Microsoft 디렉터리 서비스에 연결된 서버를 만들어 이 항목에서 설명한 OPENQUERY 또는 스크립트 태스크를 사용합니다. 자세한 내용은 스크립트 태스크를 사용하여 Active Directory 쿼리를 참조하십시오.
다음 예에서는 OPENQUERY를 사용하여 도메인 주소가 sales.adventure-works.com인 ADSISrv 서버에 있는 디렉터리의 정보를 반환하는 뷰를 만드는 방법을 보여 줍니다. OPENQUERY 함수 안에 있는 명령은 디렉터리에 대한 SQL 쿼리로 해당 디렉터리의 지정된 계층적 위치(OU=Sales)에서 contact 클래스에 속한 개체의 Name, SN 및 ST 특성을 반환합니다. 그러면 모든 SQL Server 쿼리에서 이 뷰를 사용할 수 있습니다.
CREATE VIEW viewADContacts
AS
SELECT [Name], SN [Last Name], ST State
FROM OPENQUERY( ADSI,
'SELECT Name, SN, ST
FROM ''LDAP://ADSISrv/ OU=Sales,DC=sales,DC=adventure-works,DC=com''
WHERE objectCategory = ''Person'' AND
objectClass = ''contact''')
GO
SELECT * FROM viewADContacts
LDAP 및 SQL 언어에 대한 자세한 내용은 Microsoft Active Directory Services 설명서를 참조하십시오.