OLE DB-Anbieter für Microsoft-Verzeichnisdienste

Der Microsoft OLE DB-Anbieter für Microsoft-Verzeichnisdienste stellt den Zugriff auf Informationen in den Microsoft Windows 2000-Verzeichnisdiensten bereit. Die maximal zulässige Anzahl von Objekten, die von einer Abfrage durch diesen Anbieter zurückgegeben werden können, beträgt 1000.

So erstellen Sie einen Verbindungsserver für die Windows 2000-Verzeichnisdienste

  • Erstellen Sie einen Verbindungsserver mit dem provider_nameADSDSOObject und adsdatasource als data_source-Argument der gespeicherten Systemprozedur sp_addlinkedserver.

    EXEC sp_addlinkedserver 'ADSI', 'Active Directory Services 2.5', 
    'ADSDSOObject', 'adsdatasource'
    GO
    

Für von Windows authentifizierte Anmeldungen genügt die Selbstzuordnung, um auf das Verzeichnis über die Sicherheitsdelegierung von SQL Server zuzugreifen. Da die Selbstzuordnung bei Verbindungsservern standardmäßig durch Ausführen von sp_addlinkedserver erstellt wird, ist keine weitere Anmeldungszuordnung notwendig.

Für von SQL Server authentifizierte Benutzernamen können geeignete Benutzernamen/Kennwörter für eine Verbindung zum Verzeichnisdienst mithilfe der gespeicherten Systemprozedur sp_addlinkedsrvlogin konfiguriert werden.

HinweisHinweis

Verwenden Sie nach Möglichkeit die Windows-Authentifizierung.

Abfragen des Verzeichnisdienstes (Directory Service)

Der Microsoft OLE DB-Anbieter für Microsoft-Verzeichnisdienste unterstützt zwei Befehlsdialekte, LDAP und SQL, zur Abfrage des Verzeichnisdienstes. Die OPENQUERY-Funktion kann zum Senden eines Befehls an den Verzeichnisdienst und zum Verarbeiten der Ergebnisse in einer SELECT-Anweisung verwendet werden.

HinweisHinweis

Der Microsoft OLE DB-Anbieter für Microsoft-Verzeichnisdienste unterstützt keine LDAP-Abfragen, die direkt von Integration Services erfolgen. Erstellen Sie stattdessen einen Verbindungsserver mit Microsoft-Verzeichnisdiensten, und verwenden Sie OPENQUERY wie in diesem Thema beschrieben. Alternativ können Sie einen Skripttask verwenden. Ein Beispiel hierzu finden Sie unter Abfragen des Active Directory mit dem Skripttask.

Im folgenden Beispiel wird das Erstellen einer Sicht veranschaulicht, die OPENQUERY zur Rückgabe von Informationen aus dem Verzeichnis auf dem Server ADSISrv, dessen Domänenadresse sales.adventure-works.com lautet, verwendet. Der Befehl in der OPENQUERY-Funktion ist eine SQL-Abfrage im Verzeichnis, bei der die Attribute Name, SN und ST von Objekten, die zur contact-Class an einer angegebenen hierarchischen Position (OU=Sales) im Verzeichnis gehören, zurückgegeben werden. Die Sicht kann dann in beliebigen SQL Server-Abfragen verwendet werden.

CREATE VIEW viewADContacts 
AS
SELECT [Name], SN [Last Name], ST State
FROM OPENQUERY( ADSI, 
   'SELECT Name, SN, ST
   FROM ''LDAP://ADSISrv/ OU=Sales,DC=sales,DC=adventure-works,DC=com''
   WHERE objectCategory = ''Person'' AND
      objectClass = ''contact''')
GO
SELECT * FROM viewADContacts

Weitere Informationen zu den LDAP- und SQL-Dialekten finden Sie in der Dokumentation zu Microsoft Active Directory-Dienstes.