2009-05-05 93 views
0

好的,所以我已经有一个现有的连接到我的服务器上的Active Directory。我知道查询活动目录的作品。我希望能够做的是查询活动目录中的所有ou和/或组,并且还能够查找属于这些组的用户。Active Directory组与SQL Server 2005

这是刚刚拉(成立于把所有用户的存储过程或部分)的用户信息的当前查询:

SELECT 
    userAccountControl, 
    DisplayName AS [NAME], 
    givenName AS FIRSTNAME, 
    middleName, 
    sn AS LASTNAME, 
    employeeID AS EMPID, 
    telephoneNumber AS EXT, 
    Title, 
    Department AS DEPT, 
    Division, 
    sAMAccountName AS UserName, 
    mail AS Email, 
    homeDirectory AS HomeDir, 
    userPrincipalName AS LOGON, 
    manager 
FROM   OPENQUERY(ADSI, 
         ' 
select 
    userAccountControl, 
    DisplayName, 
    givenName, 
    middleName, 
    sn, 
    employeeID, 
    telephoneNumber, 
    Title, 
    Department, 
    Division, 
    sAMAccountName, 
    mail, 
    homeDirectory, 
    userPrincipalName, 
    manager 
from ''LDAP://name'' 
where sn > ''a'' 
    and sn <''h'' 
order by DisplayName 
') 
AS derivedtbl_1 

回答

1

你知道的事实,你不能查询比更多的对象AD服务器愿意在一个回复中返回?

ADSI SQL提供程序不支持通过结果进行分页。 AD服务器通常配置为仅返回前1000个结果。

如果您一次查询几乎所有AD对象,您很可能达到此限制。

你能澄清你想达到的目标吗? “

+0

”这是当前查询,只是拉用户信息(或设置存储过程的一部分拉动所有用户):“ 这是来自sp有5插入/选择语句进入临时表,然后与我们的数据仓库数据库中的表进行比较并更新表格 – DForck42 2009-05-05 15:59:27