Поделиться через


Создание разнородного соединения между SQL Server и Active Directory

Все сотрудники корпорации Fabrikam проверяются каждые шесть месяцев. Оценки проверки хранятся в базе данных кадров в SQL Server. Чтобы создать представление этих данных, Джо Worden, администратор предприятия, должен сначала создать таблицу проверки производительности сотрудников.

В анализаторе SQL-запросов Джо создаст таблицу с именем EMP_REVIEW, которая будет содержать три столбца для хранения имени сотрудника, даты проверки и оценки, полученной сотрудником.

CREATE TABLE EMP_REVIEW
(
userName varChar(40),
reviewDate datetime,
rating decimal 
)

Джо может вставить несколько записей.

INSERT EMP_REVIEW VALUES('Julie Adam', '2/15/1999', 4 )
INSERT EMP_REVIEW VALUES('Julie Bankert', '7/15/1999', 5 )
INSERT EMP_REVIEW VALUES('Chris Gray', '2/15/1999', 3 )
INSERT EMP_REVIEW VALUES('Chris Gray', '7/15/1999', 4 )

Теперь Джо может присоединить объекты пользователей Active Directory к таблице SQL Server.

В этом примере инструкция SELECT содержит список данных, которые будут получены из службы каталогов и SQL Server. Инструкция FROM содержит имя связанного сервера каталогов, от которого эта информация будет получена, в данном случае viewADUsers. Инструкция WHERE предоставляет условия поиска. В этом примере выполняется поиск по имени в службе каталогов, в которой задано имя пользователя SQL, введенное в предыдущей задаче.

SELECT ADsPath, userName, title, ReviewDate, Rating 
FROM EMP_REVIEW, viewADUsers
WHERE userName = Name

Предыдущая команда получает результат из SQL Server и Active Directory. AdsPath и заголовок относятся к Active Directory, в то время как userName, ReviewDate и Rating находятся в таблице SQL. Он даже может создать другое представление для этого соединения.

CREATE VIEW reviewReport
AS
SELECT ADsPath, userName, title, ReviewDate, Rating 
FROM EMP_REVIEW, viewADUsers
WHERE userName = Name
GO
SELECT * FROM reviewReport