Я получил клиентское приложение, использующее SQL Server 2005, которое содержит множество представлений с присоединениями к их активному каталогу. Они делают это, чтобы обеспечить то, что люди могут видеть в базе данных. Мне нужно иметь возможность запускать эти представления из моей среды удаленной разработки, и я ищу предложение, как это сделать.
Я не могу продублировать их сервер AD, т. Е. Запустить его на виртуальной машине.
Я думаю, что я мог бы переписать представления, удалив соединения с AD, но это, кажется, талия времени.
Я прочитал о Службах Active Directory облегченного доступа к каталогам в этом вопросе SO , может ли это создать среду для запроса?
Я не склонен к настройке виртуальной машины со службами Active Directory, но это может привести к значительному увеличению времени настройки, когда более простой сервер LDAP может работать так же хорошо (пожимает плечами).
Вот пример запроса, используемого для доступа к AD (большинство полей не используются, но это работа для другого дня):
...
FROM OPENQUERY(ADSI,
'SELECT Sn, givenName, userPrincipalName, Name, company, physicalDeliveryOfficeName,
department, streetAddress, L, St, postalCode, Co, Mail, telephoneNumber,
facsimileTelephoneNumber, manager, samaccountname, extensionattribute1
FROM ''LDAP://OU=EPPPPUsers, DC=EPPPP, DC=COM''
WHERE objectClass=''user'' OR objectClass=''contact''') AS rs1
LEFT OUTER JOIN
(SELECT 'EPPPP\' + SUBSTRING(userPrincipalName, 0, CHARINDEX('@', serPrincipalName)) AS UserName, CN
FROM
OPENQUERY(ADSI, 'SELECT userPrincipalName, CN
FROM ''LDAP://OU=EPPPPUsers, DC=EPPPP, DC=COM''') AS Rowset_1) AS mUsr
ON mUsr.CN = LEFT(SUBSTRING(manager, CHARINDEX('=', manager) + 1, LEN(manager)), CHARINDEX(',', SUBSTRING(manager, CHARINDEX('=', manager) + 1, LEN(manager))) - 1)