none
sql OLE DB ADSDSOObject查询问题 RRS feed

  • 问题

  • 域环境(林域功能都是2003)中有一个server 03和server 08的dc,由于存在时间有点久就找不到相关文档和配置了

    现在想统计域里全部机器账号信息把一些不需要的清理掉

    找了资料http://msdn.microsoft.com/en-us/library/ms810638 可以用来查询域中账号的信息与属性

    问题就来了,如果ldap指定了03的dc,可以得到ou下全部的4700多台电脑,但指定08的dc就只能得到1901台,最后还会报错:
    无法从 OLE DB 提供程序 ' ADSDSOObject 获取行

    又找到资料说是可能ad 查询存在限制:http://social.technet.microsoft.com/Forums/sqlserver/zh-CN/fc278f66-be58-490b-9d89-3d81bb3abf0e/cannot-fetch-a-row-from-ole-db-provider-adsdsoobject-for-linked-server

    也根据知识库文章用Ntdsutil.exe查看了域的策略设置MaxPageSize 不是默认的1000而是4000,这个数既小于真正值也大于错误的查询值,而这应该是一个全局的设置,可能是两个dc配置未标准化, 我要如何发现并保证各个dc 的设置尽可能保持一致以提供服务?

    2013年10月1日 2:33

全部回复

  • 你好,

    我建议我们首先运行repadmin 命令来查看两台DC的复制是否存在问题,如果复制是没有问题的话,我们可以通过powershell 命令get-adcomputer来获得域内的所有计算机。

    如果这问题是SQL相关的话,我们可以到SQL 的论坛post一个帖子。

    Regards,

    Yan Li


    Cataleya Li
    TechNet Community Support

    2013年10月2日 6:07
    版主
  • 你好,

    我建议我们首先运行repadmin 命令来查看两台DC的复制是否存在问题,如果复制是没有问题的话,我们可以通过powershell 命令get-adcomputer来获得域内的所有计算机。

    如果这问题是SQL相关的话,我们可以到SQL 的论坛post一个帖子。

    Regards,

    Yan Li


    Cataleya Li
    TechNet Community Support

    因为找到的资料也是sql 论坛上的, 也有想过是不是sql的问题

    只是目前看应该sql 是同样的设置,没有去修改任何有关于Microsoft Active Directory Service 的地方
    而dc 却不是同一个造成了查询数据不一致,也只能是想到会不是会能从这一块找到问题...

    检查同步的话没有明显的异常

    get-adcomputer我也知道,不过想直接插入db 没有那么方便..还需要去调试脚本

    2013年10月2日 14:21