Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le organizzazioni tipiche archiviano i dati in più database eterogenei. I dati delle risorse umane possono essere archiviati in SQL Server, mentre i dati di gestione degli account vengono archiviati nella directory. Altri dati possono essere archiviati in formati proprietari.
Con, SQL Server 7.0, ADSI e il provider OLE DB, è possibile unire i dati da Active Directory ai dati in SQL Server e creare una visualizzazione dei dati aggiunti.
Per unire i dati di Active Directory con i dati di SQL Server
Eseguire l'Analizzatore delle query SQL (Start | Programmi | Microsoft SQL Server 7.0)
Accedere al computer SQL Server.
Eseguire la riga seguente evidenziandola e premendo CTRL+E:
EXEC sp_addlinkedserver 'ADSI', 'Active Directory Service Interfaces', 'ADSDSOObject', 'adsdatasource' GO
In questa riga, gli argomenti per la Stored Procedure di Sistema sp_addlinkedserver sono i seguenti:
- "ADSI" è l'argomento server, che sarà il nome di questo server collegato.
- "Servizi di Active Directory" è l'argomento srvproduct, ovvero il nome dell'origine dati OLE DB che si sta aggiungendo come server collegato.
- "ADSDSOObject" è l'argomento provider_name e indica che si sta usando il provider OLE DB.
- "adsdatasource" è l'argomento data_source, ovvero il nome dell'origine dati come interpretato dal provider OLE DB.
È ora possibile usare il server collegato per accedere ad Active Directory da SQL Server.
Il prossimo esempio esegue una query utilizzando l'istruzione OPENQUERY. Questa istruzione ha due argomenti: ADSI, ovvero il nome del server collegato appena creato e un'istruzione di query. L'istruzione query contiene gli elementi seguenti:
- L'istruzione SELECT contiene l'elenco di dati che verranno ottenuti dal servizio directory. È necessario usare il nome visualizzato LDAP per indicare i dati cercati.
- L'istruzione FROM contiene il nome del server di directory collegato da cui verranno ottenute queste informazioni.
- L'istruzione WHERE fornisce le condizioni di ricerca. In questo esempio viene eseguita la ricerca di utenti.
Digitare ed eseguire:
SELECT * FROM OPENQUERY( ADSI, 'SELECT name, adsPath FROM 'LDAP://DC=Fabrikam,DC=com' WHERE objectCategory = 'Person' AND objectClass= 'user'')
È anche possibile usare il dialetto LDAP ADSI. Per esempio:
SELECT * FROM OPENQUERY(ADSI, '<LDAP://DC=Fabrikam,DC=COM>;(&(objectCategory=Person)(objectClass=user));name, adspath;subtree')
Nell'esempio precedente la query LDAP ha quattro parti:
- "<LDAP://DC=Fabrikam,DC=COM>" è il nome distinto del server di directory da cercare.
- "(&(objectCategory=Person)(objectClass=user))" è il filtro di ricerca LDAP (vedere sintassi del filtro di ricerca).
- "name, adspath" sono i nomi degli attributi da recuperare (utilizzando il formato del nome visualizzato in LDAP).
- "sottoalbero" indica l'ambito della ricerca.
Argomenti correlati