Creazione di un join eterogeneo tra SQL Server e Active Directory
Tutti i dipendenti dell'azienda Fabrikam vengono esaminati ogni sei mesi. Le valutazioni delle verifiche vengono archiviate nel database delle risorse umane in SQL Server. Per creare una visualizzazione di questi dati, Joe Worden, l'amministratore dell'organizzazione, deve prima creare una tabella di revisione delle prestazioni dei dipendenti.
In SQL Query Analyzer Joe creerà una tabella denominata EMP_REVIEW che conterrà tre colonne per contenere il nome del dipendente, la data della revisione e la classificazione ricevuta dal dipendente.
CREATE TABLE EMP_REVIEW
(
userName varChar(40),
reviewDate datetime,
rating decimal
)
Joe può quindi inserire alcuni record.
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 )
Ora Joe può aggiungere gli oggetti utente di Active Directory alla tabella di SQL Server.
In questo esempio l'istruzione edizione Standard LECT contiene l'elenco di dati che verranno ottenuti dal servizio directory e DA SQL Server. L'istruzione FROM contiene il nome del server di directory collegato da cui verranno ottenute queste informazioni, in questo caso viewADUsers. L'istruzione WHERE fornisce le condizioni di ricerca. In questo esempio viene eseguita la ricerca in base al nome nel servizio directory, che viene impostato sul nome utente SQL immesso nell'attività precedente.
SELECT ADsPath, userName, title, ReviewDate, Rating
FROM EMP_REVIEW, viewADUsers
WHERE userName = Name
Il comando precedente ottiene il risultato sia da SQL Server che da Active Directory. AdsPath e titolo provengono da Active Directory, mentre userName, ReviewDate e Rating provengono dalla tabella SQL. Può anche creare un'altra visualizzazione per questo join.
CREATE VIEW reviewReport
AS
SELECT ADsPath, userName, title, ReviewDate, Rating
FROM EMP_REVIEW, viewADUsers
WHERE userName = Name
GO
SELECT * FROM reviewReport