Compartilhar via


Criando uma associação heterogênea entre o SQL Server & Active Directory

Todos os funcionários da empresa Fabrikam são revisados a cada seis meses. As classificações de revisão são armazenadas no banco de dados de Recursos Humanos no SQL Server. Para criar uma exibição desses dados, Joe Worden, o administrador da empresa, deve primeiro criar uma tabela de revisão de desempenho do funcionário.

No SQL Query Analyzer, Joe criará uma tabela chamada EMP_REVIEW que conterá três colunas para conter o nome do funcionário, a data da revisão e a classificação que o funcionário recebeu.

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

Joe pode então inserir alguns registros.

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 )

Agora, Joe pode unir os objetos de usuário do Active Directory à tabela do SQL Server.

Neste exemplo, a instrução SELECT contém a lista de dados que serão obtidos do serviço de diretório e do SQL Server. A instrução FROM contém o nome do servidor de diretório vinculado do qual essas informações serão obtidas, neste caso, viewADUsers. A instrução WHERE fornece as condições de pesquisa. Neste exemplo, ele está pesquisando pelo nome no serviço de diretório, que é definido como o userName SQL inserido na tarefa anterior.

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

O comando anterior obtém o resultado do SQL Server e do Active Directory. AdsPath e title são do Active Directory, enquanto userName, ReviewDate e Rating são da tabela SQL. Ele pode até criar outra visão para essa junção.

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