Um so mehr Daten man zur Verfügung hat, um so detaillierter kann man reporten. Jedes Data-Warehouse sollte das Ziel haben, möglichst viele Informationen aus den verschiedensten Systemen zusammen zubringen, damit die Reports immer detaillierter und die Steuerungen immer effektiver werden können. Häufig entsteht der Wunsch nach LDAP-Informationen, um zum Beispiel auf Standorte oder Abteilungen Auswertungen fahren zu können. Wie man den SQL-Server mit LDAP Daten anreichert, können Sie in diesem Artikel lesen.
Die einfachste Möglichkeit ist es, einen Verbindungsserver (Linked Server) einzurichten, welcher es ermöglicht, direkt SELECT-Statements an das Active Directory zu schicken. Dafür nutzen wir folgendes Statement, um einen Verbindungsserver einzurichten:
USE [master] GO EXEC master.dbo.sp_addlinkedserver @server = N'LDAP', @srvproduct=N'Active Directory Service Interfaces', @provider=N'ADSDSOObject', @datasrc=N'adsdatasource' EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'LDAP',@useself=N'False',@locallogin=NULL,@rmtuser=N'DOMAINUSER',@rmtpassword='**********' GO
Der Benutzer, der den Verbindungsserver nutzt, muss die Berechtigung haben, das Active Directory abzufragen.
Jetzt haben wir alles nötige getan, damit wir über den SQL-Server Abfragen an das Active Directory schicken können.
Wenn Sie zum Beispiel für einen internen Newsletter alle E-Mailadressen benötigen, dann könnten Sie folgendes Query nutzen:
SELECT * FROM OpenQuery ( LDAP, -- LDAP: Name des eingerichten Verbindungsservers 'SELECT mail, displayName, name FROM ''LDAP://g4.ms'' WHERE objectClass = ''User'' ') AS ldapresult WHERE mail is not null
Anmerkung:
LDAP://g4.ms ist in meinem Fall der Connectionstring für unser Development Active Directory. g4.ms ist der Name unseres DomainControllers. Dieser könnte auch so aussehen: LDAP://DOMAIN.com/OU=myOrganisationUnit,DC=myDomain.
Das Ergebnis sieht wie folgt aus:
Eine Liste aller abfragbaren User-Attribute finden Sie im Internet wie z.B. hier.
Ich hoffe, dieser kleine Tipp bringt euch eurem Ziel etwas näher und ich freue mich, wie immer, über Feedback und Kommentare.
Kategorien: Kurz notiert, SQL Server, Technical
Schlagwörter: HowTo, Microsoft SQL Server, T-SQL
Haben Sie Fragen zu diesem Artikel oder brauchen Sie Unterstützung?
Nehmen Sie mit uns Kontakt auf!
Wir unterstützen Sie gerne bei Ihren Vorhaben!