小编Ter*_*esa的帖子

如何使用T-SQL查询获取Active Directory中的1000条记录限制?

下面的代码完美*如果我将光标限制为几个组,但如果我让它在我的整个域上运行,我在AD中遇到1000个记录限制.关于如何获得此分页的任何想法?

*完美是因为它应该只返回数量低于1000记录限制的有限数量的记录.

CREATE TABLE #MemberOfGroups
(
    groupName   VARCHAR (400),
    cn          VARCHAR (400),
    displayName VARCHAR (400)
);

SET NOCOUNT ON;

DECLARE @t AS VARCHAR (100), 
@t2 AS VARCHAR (1000), 
@ot AS VARCHAR (4000), 
@tt AS VARCHAR (4000);

DECLARE gC CURSOR
    FOR SELECT cn,
               distinguishedName
        FROM   OPENQUERY (ADSI, 'SELECT cn, distinguishedName
     FROM ''LDAP://DC=coal,DC=local''
     WHERE objectCategory = ''group''');

OPEN gC;

FETCH NEXT FROM gC INTO @t, @t2;

WHILE @@FETCH_STATUS = 0
    BEGIN
        SET @ot = '''SELECT cn, displayName
     FROM ''''LDAP://DC=coal,DC=local''''
     WHERE objectCategory = …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server active-directory active-directory-group

3
推荐指数
1
解决办法
6641
查看次数