Поставщик OLE DB для служб каталогов Microsoft
Поставщик Microsoft OLE DB для служб каталогов Майкрософт предоставляет доступ к данным службы каталогов Microsoft Windows 2000. Максимальное количество объектов, которые могут быть возвращены запросом при помощи этого поставщика, равно 1000.
Создание связанного сервера для службы каталогов Windows 2000
Создавайте связанные серверы с помощью системной хранимой процедуры sp_addlinkedserver, используя значение ADSDSOObject в качестве аргумента provider_name, а adsdatasource в качестве аргумента data_source, например:
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 для служб каталогов Майкрософт поддерживает два диалекта команд, LDAP и SQL, позволяющих опрашивать службу каталогов. Функцию OPENQUERY можно применять для отправки команды службе каталогов и использования ее результатов в инструкции SELECT.
Примечание |
---|
Поставщик Microsoft OLE DB для службы каталогов Майкрософт не поддерживает запросы LDAP, поступающие напрямую из Integration Services. Поэтому создайте сервер, связанный со службой каталогов Майкрософт, и используйте команду OPENQUERY так, как описано в этом разделе, либо примените задачу «Сценарий». См. пример в разделе Запрос Active Directory в задаче «Сценарий». |
В следующем примере показано создание представления, использующего функцию OPENQUERY для возврата данных из каталога на сервере ADSISrv с доменным именем sales.adventure-works.com. Команда внутри функции OPENQUERY является SQL-запросом к каталогу, возвращающим атрибуты Name, SN и ST объектов, принадлежащих классу contact и находящихся в указанном месте в иерархии каталога (OU=Sales). Это представление можно использовать в любом запросе 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.
См. также