【问题标题】:AD query works in SQL Server 2005 but not in SQL Server 2008 R2AD 查询在 SQL Server 2005 中有效,但在 SQL Server 2008 R2 中无效
【发布时间】:2015-07-09 07:02:15
【问题描述】:

注意:Active Directory 在 Windows Server 2003 32 位上运行。

此查询适用于我们当前的生产 SQL Server 2005 32 位服务器:

select 
    cn, samaccountname, mail, co, distinguishedName, displayName
from 
    openquery(ADSI, 'SELECT cn,samaccountname, mail, co, distinguishedName, displayName
                     FROM ''LDAP://<ourDomain>''  ')

但是当我在 SQL Server 2008 R2 64 位上运行它时,我得到一个错误:

消息 7330,第 16 级状态 2,第 1 行
无法从链接服务器“ADSI”的 OLE DB 提供程序“AdsDSOObject”中获取行。

SQL Server 2008 R2 上的链接服务器连接测试正常,所有配置都与 SQL Server 2005 相同。我在网上找到的最常见的修复方法是确保在 AdsDSOObject 属性中检查 InProcess,确实如此。

非常感谢任何帮助。

【问题讨论】:

    标签: sql-server sql-server-2005 sql-server-2008-r2 active-directory


    【解决方案1】:

    天哪,找到了。我不知道它是否适用于所有情况,但就我而言,我需要改变:

    FROM ''LDAP://ou=????, dc=????, dc=???'' '
    

    FROM ''LDAP://domainName.org/ou=???, dc=????, dc=????'' '
    

    希望这可能对像我这样的其他菜鸟有所帮助。

    马哈洛

    【讨论】:

    • 为什么要改?
    • 不能说为什么它可以在我们当前的 2005 SQL 上没有我们的域名,但是在我们的新 SQL 2008 R2 上,我必须包含它,否则会出错。
    猜你喜欢
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多