2009-08-27 106 views
1

的Active Directory無法通過SQL Server查詢AD。我添加了鏈接的服務器引用的Active Directory都通過SQL(見下文),並通過SSMS GUI,但我想不通的安全問題。查詢從SQL Server 2008

EXEC sp_addlinkedserver @server = 'ADSI', @srvproduct = 'Active Directory Services 2.5', @provider = 'ADSDSOObject', @datasrc = 'adsdatasource' 

    EXEC sp_addlinkedsrvlogin @rmtsrvname = 'ADSI', @useself = 'False', @locallogin = 'sa', @rmtuser = 'mylogin', @rmtpassword = 'mypassword' 

因此該查詢說「...The provider indicates that the user did not have the permission to perform the operation.

SELECT * FROM OPENQUERY(ADSI, 'SELECT givenName, sn FROM ''LDAP://dc=mydomain,dc=com'' WHERE objectClass=''Person'' AND objectClass=''User''') 

我大概有@locallogin,@rmtuser和@rmtpassword關閉和我混淆了每個參數的含義,什麼正確的參數失敗應該;他們是否應該包括用戶ID和密碼合併爲一個字符串,包括反斜槓,或aerobase,或者你有什麼。

有什麼建議嗎?不要緊的SQL Server數據庫,它只是SS 08更多的信息,由於智能感知的一點點。

回答

2

試驗和錯誤導致我推斷,@rmtuser參數期望域反斜線用戶名;這似乎允許它現在是可查詢的。

+0

怪異的事情 - 我的域\用戶必須小寫工作。大寫字母沒有去... – geekinit 2013-10-09 14:01:54