2014-04-07 62 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查詢」不處理外部賬戶太好了 - 即使該帳戶被授予域管理員。解決方案是在受信任的域上獲得本地帳戶。在該鏈接服務器上使用該本地帳戶的技巧。在我的情況下,我爲每個域使用單獨的鏈接服務器。我認爲會有更優雅的解決方案,但它還沒有出現。