Compartir a través de


Creación de una combinación heterogénea entre SQL Server & Active Directory

Todos los empleados de la corporación Fabrikam se revisan cada seis meses. Las clasificaciones de revisión se almacenan en la base de datos de recursos humanos en SQL Server. Para crear una vista de estos datos, Joe Worden, el administrador de la empresa, primero debe crear una tabla de revisión del rendimiento de los empleados.

En el Analizador de consultas SQL, Joe va a crear una tabla denominada EMP_REVIEW que contendrá tres columnas para contener el nombre del empleado, la fecha de la revisión y la clasificación que recibió el empleado.

CREATE TABLE EMP_REVIEW
(
userName varChar(40),
reviewDate datetime,
rating decimal 
)

A continuación, Joe puede insertar algunos registros.

INSERT EMP_REVIEW VALUES('Julie Adam', '2/15/1999', 4 )
INSERT EMP_REVIEW VALUES('Julie Bankert', '7/15/1999', 5 )
INSERT EMP_REVIEW VALUES('Chris Gray', '2/15/1999', 3 )
INSERT EMP_REVIEW VALUES('Chris Gray', '7/15/1999', 4 )

Ahora Joe puede unir los objetos de usuario de Active Directory a la tabla SQL Server.

En este ejemplo, la instrucción SELECT contiene la lista de datos que se obtendrán del servicio de directorio y SQL Server. La instrucción FROM contiene el nombre del servidor de directorio vinculado en el que se obtendrá esta información, en este caso, viewADUsers. La instrucción WHERE proporciona las condiciones de búsqueda. En este ejemplo, busca por el nombre en el servicio de directorio, que se establece en el nombre userName de SQL especificado en la tarea anterior.

SELECT ADsPath, userName, title, ReviewDate, Rating 
FROM EMP_REVIEW, viewADUsers
WHERE userName = Name

El comando anterior obtiene el resultado de SQL Server y Active Directory. AdsPath y title proceden de Active Directory, mientras que userName, ReviewDate y Rating proceden de la tabla SQL. Incluso puede crear otra vista para esta unión.

CREATE VIEW reviewReport
AS
SELECT ADsPath, userName, title, ReviewDate, Rating 
FROM EMP_REVIEW, viewADUsers
WHERE userName = Name
GO
SELECT * FROM reviewReport