Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las organizaciones típicas almacenan datos en varias bases de datos heterogéneas. Los datos de recursos humanos se pueden almacenar en SQL Server, mientras que los datos de administración de cuentas se almacenan en el directorio. Otros datos se pueden almacenar en formatos propietarios.
Con, SQL Server 7.0, ADSI y el proveedor OLE DB, es posible unir datos de Active Directory a datos en SQL Server y crear una vista de los datos unidos.
Para unir datos de Active Directory con datos de SQL Server
Ejecutar el Analizador de consultas SQL (Inicio | Programas | Microsoft SQL Server 7.0)
Inicie sesión en el equipo SQL Server.
Ejecute la siguiente línea (resaltando y presionando CTRL+E):
EXEC sp_addlinkedserver 'ADSI', 'Active Directory Service Interfaces', 'ADSDSOObject', 'adsdatasource' GO
En esta línea, los argumentos del procedimiento almacenado del sistema de sp_addlinkedserver son los siguientes:
- "ADSI" es el argumento del servidor , que será el nombre de este servidor vinculado.
- "Servicios de Active Directory" es el argumento srvproduct , que es el nombre del origen de datos OLE DB que va a agregar como servidor vinculado.
- "ADSDSOObject" es el argumento provider_name e indica que está usando el proveedor OLE DB.
- "adsdatasource" es el argumento data_source, que es el nombre del origen de datos tal y como interpreta el proveedor OLE DB.
Ahora puede usar el servidor vinculado para acceder a Active Directory desde SQL Server.
En el ejemplo siguiente se realiza una consulta mediante la instrucción OPENQUERY . Esta instrucción tiene dos argumentos: ADSI, que es el nombre del servidor vinculado que acaba de crear y una instrucción de consulta. La instrucción query contiene los siguientes elementos:
- La instrucción SELECT contiene la lista de datos que se obtendrán del servicio de directorio. Tendrá que usar el nombre para mostrar ldap para indicar los datos que está buscando.
- La instrucción FROM contiene el nombre del servidor de directorio vinculado del que se obtendrá esta información.
- La instrucción WHERE proporciona las condiciones de búsqueda. En este ejemplo, está buscando usuarios.
Escriba y ejecute:
SELECT * FROM OPENQUERY( ADSI, 'SELECT name, adsPath FROM 'LDAP://DC=Fabrikam,DC=com' WHERE objectCategory = 'Person' AND objectClass= 'user'')
También puede usar el dialecto LDAP ADSI. Por ejemplo:
SELECT * FROM OPENQUERY(ADSI, '<LDAP://DC=Fabrikam,DC=COM>;(&(objectCategory=Person)(objectClass=user));name, adspath;subtree')
En el ejemplo anterior, la consulta LDAP tiene cuatro partes:
- "<LDAP://DC=Fabrikam,DC=COM>" es el nombre distintivo del servidor de directorios que se va a buscar.
- "((&objectCategory=Person)(objectClass=user))" es el filtro de búsqueda LDAP (vea Sintaxis de filtro de búsqueda).
- "name, adspath" son los nombres (mediante el formato de nombre para mostrar LDAP) de los atributos que se van a recuperar.
- "subárbol" indica el ámbito de la búsqueda.
Temas relacionados