Realizar una SQL consultas distribuidas mediante el uso de ADSI

Seleccione idioma Seleccione idioma
Id. de artículo: 299410 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo proporciona información acerca de cómo utilizar el proveedor OLEDB de Interfaces de servicios de Active Directory (ADSI) de SQL Server para realizar una consulta distribuida.

Más información

Información General y requisitos

Una consulta distribuida permite al desarrollador rellenar una tabla de SQL Server o vista con los datos de Active Directory u otro servidor de Protocolo ligero de acceso a directorios (LDAP). Con el fin de llevar a cabo una consulta distribuida mediante el uso de ADSI, el servidor debe ejecutar SQL Server 7.0 o posterior. ADSI es un componente del sistema de Windows 2000 por lo que no adicional en necesario instalar en ese sistema operativo. Si el sistema del servidor operativo es Windows NT 4.0, debe instalar el Active Directory Client Extension (DSClient) para Windows NT 4.0. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
288358Cómo instalar la extensión de cliente de Active Directory
Un procedimiento paso a paso para llevar a cabo una consulta distribuida con ADSI puede encontrarse en "Unirse a datos heterogéneos" en el siguiente artículo de MSDN Library:
Combinar datos heterogéneos
http://msdn.Microsoft.com/en-us/library/aa746379.aspx
Cuando se emite el comando OPENQUERY, SQL Server se llamar al proveedor OLEDB de ADSI, ADsDSOObject, que se ha configurado en la función de sp_addlinkedserver . El proveedor pasa la consulta a las funciones de interfaz de lDirectorySearch ADSI subyacentes. Estas funciones ADSI hará que las llamadas necesarias de LDAP en el servidor que desee. Las respuestas enviadas por el servidor, a continuación, se pasará una copia de seguridad de las mismas capas a SQL Server.

Se puede utilizar una consulta en los dialectos de LDAP o de SQL. Puede encontrar información adicional acerca de la búsqueda con el proveedor de OLE DB de ADSI en el siguiente artículo MSDN:
Buscar en Active Directory
http://msdn.Microsoft.com/en-us/library/aa746468 (en inglés) .aspx
Obtener una explicación de los dos lenguajes se encuentra en el siguiente tema en MSDN:
Dialecto
http://msdn.Microsoft.com/en-us/library/aa772377 (en inglés) .aspx
Si se especifica un asterisco (**) para la lista de atributos, el proveedor OLEDB de ADSI devuelve un objeto recordset que contiene sólo el ADsPath de cada entrada. ADsPath es un cliente genera el atributo y se garantiza que se devuelve como un atributo de valor destacó el acto.

Una cadena de enlace sin servidor es aquel que no contiene el nombre o dirección IP del servidor de destino. Enlaces sin servidor se utilizan para buscar el mejor controlador de dominio de Windows 2000 para controlar la solicitud. No se puede utilizar enlaces sin servidor cuando el servidor de destino no es un controlador de dominio de Windows 2000 para el dominio predeterminado. Para obtener información adicional sobre enlaces sin servidor, vea
Enlace sin servidor y RootDSE
http://msdn.Microsoft.com/en-us/library/ms677945.aspx
En el ejemplo de la nota del producto, el servidor LDAP se contactarán con las credenciales en las que se realizó la llamada OPENQUERY . Dependiendo de cómo se ha diseñado la aplicación, esto puede o no puede ser conveniente. Si se utiliza la autenticación de SQL Server en lugar de la autenticación de Windows, se proporcionará las credenciales SQL en el directorio. Problemas de autenticación también se producen si el servicio de directorio de destino no es compatible con la autenticación de Windows.Para obtener más información sobre el uso de ADSI para consultar estos servidores LDAP, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
251195Cómo utilizar ADSI para consultar un servidor LDAP de terceros
Si no es deseable para ponerse en contacto con el directorio mediante el uso de las mismas credenciales que la llamada a OPENQUERY , un sp_addlinksrvlogin puede utilizarse para cambiar la identidad bajo la que se establece contacto con un servidor remoto. Cuando se implementa sp_addlinksrvlogin ADSI invocará un enlace simple al servicio de directorio de destino con los elementos previstos en los parámetros rmtuser y rmtpassword . Es importante que tenga en cuenta que un enlace sencillo transmitirá las credenciales al servidor de directorio como texto sin cifrar. Esto tiene la ventaja de que se entenderá por muchos servidores de directorio, pero una desventaja es que el nombre de usuario y la contraseña se verán en un monitor de red. Para obtener más información sobre los enlaces simples, consulte:
ldap_simple_bind_s
http://msdn.Microsoft.com/en-us/library/aa366995.aspx
Una vez agregado, se puede quitar el sp_addlinksrvlogin mediante una llamada a sp_droplinkedsrvlogin.

Limitaciones

El proceso de utilizar la instrucción OPENQUERY para extraer información de un servidor LDAP sufrir algunas limitaciones. Se pueden sortear las limitaciones en algunos casos, pero en otros debe modificarse el diseño de la aplicación. Una aplicación externa o un objeto COM que utiliza ADSI para recuperar la información del servidor LDAP y, a continuación, genera una tabla en SQL mediante el uso de ADO u otros métodos de acceso a datos es otro método viable.

La primera limitación es que no se puede devolver propiedades con varios valores en el conjunto de resultados a SQL Server. ADSI lee la información de esquema desde el servidor LDAP que define la estructura y sintaxis de las clases y atributos utilizados por el servidor. Si el atributo que se solicita desde el servidor LDAP se define en el esquema como varios valores no se puede devolver en una instrucción OPENQUERY.

Es habitual para un servidor de directorio exigir una limitación de servidor en el número de objetos que le serán devueltas de una consulta determinada. Esto es evitar que los ataques de denegación de servicio y la sobrecarga de red. Para consultar correctamente el servidor de directorio, se deben dividir las consultas grandes en muchas otras más pequeñas. Una forma de hacerlo es mediante un proceso denominado paginación. Aunque paginación está disponible a través de proveedor de OLE DB de ADSI, actualmente no hay ninguna manera disponible para realizar de una consulta distribuida de SQL. Esto significa que el número total de objetos que pueden devolverse en una consulta es el límite del servidor. En Windows 2000 Active Directory, el límite de servidor predeterminado es 1.000 objetos. Puede encontrar más información acerca de la paginación en el siguiente tema de MSDN Library:
Paginación con IDirectorySearch
http://msdn.Microsoft.com/en-us/library/aa746414 (en inglés) .aspx
Para obtener más información acerca de cómo modificar el límite del servidor para maxPageSize mediante NTDSUtil, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
315071How to view and set LDAP policy in Active Directory by using Ntdsutil.exe

Referencias

Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
187529Cómo utilizar ADO para tener acceso a los objetos a través de un proveedor LDAP de ADSI
Obtener más información, incluido un ejemplo, puede encontrarse en la sección ADSI de Platform SDK, puede obtener más información acerca de qué puede encontrarse en el siguiente sitio Web de Microsoft:
http://www.Microsoft.com/downloads/details.aspx?FamilyID=149187AC-7008-4F49-A00A-26DCEBE0FC32&displaylang=en

El vínculo anterior también contiene información acerca de dónde obtener la descarga de varios SDK de Windows en la parte inferior de la página en la sectiont con el título: "Lo que se descargan otros".

Propiedades

Id. de artículo: 299410 - Última revisión: domingo, 16 de diciembre de 2012 - Versión: 7.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Palabras clave: 
kbdswadsi2003swept kbinfo kbmt KB299410 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 299410

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com