Proveedor OLE DB para servicios de directorio de Microsoft

El proveedor Microsoft OLE DB para servicios de directorio de Microsoft da acceso a la información del servicio de directorio de Microsoft Windows 2000. El número máximo de objetos que puede devolver una consulta utilizando este proveedor es 1000.

Para crear un servidor vinculado que tenga acceso al servicio de directorio de Windows 2000

  • Cree un servidor vinculado estableciendo ADSDSOObject como provider_name y adsdatasource como el argumento data_source del procedimiento almacenado del sistemasp_addlinkedserver, como en el ejemplo siguiente:

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

En el caso de los inicios de sesión autenticados de Windows, la asignación automática es suficiente para obtener acceso al directorio mediante la delegación de seguridad de SQL Server. Debido a que la asignación automática es la opción predeterminada para los servidores vinculados creados mediante la ejecución de sp_addlinkedserver, no es necesaria otra asignación de inicios de sesión.

En el caso de los inicios de sesión autenticados de SQL Server, se pueden configurar inicios de sesión o contraseñas apropiados para la conexión al servicio de directorio mediante el procedimiento almacenado del sistema sp_addlinkedsrvlogin.

Nota

Siempre que sea posible, utilice la autenticación de Windows.

Consultar el servicio de directorio

El proveedor Microsoft OLE DB para servicios de directorio de Microsoft admite dos lenguajes de comandos, LDAP y SQL, para consultar el servicio de directorio. La función OPENQUERY se puede emplear para enviar un comando al servicio de directorio y utilizar los resultados en una instrucción SELECT.

Nota

El proveedor Microsoft OLE DB para servicios de directorio de Microsoft no admite consultas LDAP directamente de Integration Services. En lugar de ello, cree un servidor vinculado a los servicios de directorio de Microsoft y utilice OPENQUERY como se describe en este tema, o bien utilice una tarea Script. Para obtener un ejemplo, vea Consultar Active Directory con la tarea Script.

En el ejemplo siguiente se observa cómo se puede crear una vista que utilice OPENQUERY para obtener la información del directorio en el servidor ADSISrv cuya dirección de dominio es sales.adventure-works.com. El comando que se incluye en la función OPENQUERY es una consulta SQL que se realiza en el directorio para que devuelva los atributos Name, SN y ST de los objetos que pertenecen a la clase contact y se encuentran en una ubicación jerárquica específica (OU=Sales) del directorio. Después, esta vista se puede utilizar en cualquier consulta de SQL Server.

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

Para obtener más información acerca de los lenguajes LDAP y SQL, vea la documentación de los servicios de Active Directory de Microsoft.