Создание разнородного соединения между 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