2014-04-07 49 views
2

所以我必须从我们的Active Directory中没有任何问题(瘦身一路下跌张贴目的)中提取数据的SQL查询:SQL链接服务器查询广告返回消息7321

SELECT TOP 901 * 
FROM OpenQuery(ADSI, 'SELECT title, displayName, sAMAccountName, givenName, sn 
       FROM ''LDAP://DC=[STUFF],DC=[MOAR STUFF],DC=com'' 
       where objectCategory = ''Person'' AND objectClass = ''User''') 

这拉记录预期。我需要从其他域取得我们有信任的记录,所以我应该只需要更改LDAP字符串。但这样做只是返回一个通用的

“准备查询时发生错误...针对链接服务器”ADSI“**”(Msg 7321,Level 16,State 2)的OLE DB提供程序“ADSDSOObject” 。

我说泛型,因为我可以在SELECT语句中输入几乎任何内容(将其搞乱),并且我会得到相同的消息。

我试过了,没有在字符串中的FQDN。我已确认与链接服务器一起使用的登录具有读访问权限。有任何想法吗?

在此先感谢!

-Karl

回答

1

所以出现这种“跨林SQL查询”不处理外部账户太好了 - 即使该帐户被授予域管理员。解决方案是在受信任的域上获得本地帐户。在该链接服务器上使用该本地帐户的技巧。在我的情况下,我为每个域使用单独的链接服务器。我认为会有更优雅的解决方案,但它还没有出现。