Partager via


Création d’une jointure hétérogène entre SQL Server & Active Directory

Tous les employés de la société Fabrikam sont examinés tous les six mois. Les évaluations de révision sont stockées dans la base de données des ressources humaines dans SQL Server. Pour créer une vue de ces données, Joe Worden, l’administrateur d’entreprise, doit d’abord créer une table d’évaluation des performances des employés.

Dans l’analyseur de requêtes SQL, Joe va créer une table appelée EMP_REVIEW qui contiendra trois colonnes contenant le nom de l’employé, la date de la révision et l’évaluation que l’employé a reçue.

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

Joe peut ensuite insérer quelques enregistrements.

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 )

Joe peut maintenant joindre les objets utilisateur Active Directory à la table SQL Server.

Dans cet exemple, l’instruction SELECT contient la liste des données qui seront obtenues à partir du service d’annuaire et SQL Server. L’instruction FROM contient le nom du serveur d’annuaire lié où ces informations seront obtenues à partir de, dans ce cas, viewADUsers. L’instruction WHERE fournit les conditions de recherche. Dans cet exemple, il recherche le nom dans le service d’annuaire, qui est défini sur le nom utilisateur SQL entré dans la tâche précédente.

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

La commande précédente obtient le résultat de SQL Server et d’Active Directory. AdsPath et title proviennent d’Active Directory, tandis que userName, ReviewDate et Rating proviennent de la table SQL. Il peut même créer une autre vue pour cette jointure.

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