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