執行 SQL 使用 ADSI 分散式查詢

文章翻譯 文章翻譯
文章編號: 299410 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文提供有關使用 Active Directory 服務介面 (ADSI) OLEDB 提供者從 SQL Server 執行分散式的查詢的資訊。

其他相關資訊

需求和一般資訊

分散式的查詢可讓開發人員填入 SQL Server 資料表或檢視中 Active Directory 或其他 「 輕量型目錄存取通訊協定 (LDAP) 伺服器的資料。 若要執行分散式的查詢藉由使用 ADSI,伺服器必須執行 SQL Server 7.0 或更新版本。ADSI 是 Windows 2000 中的所以沒有額外安裝在該作業系統必要的系統元件。 如果伺服器的作業系統 Windows NT 4.0,必須先安裝 [Active Directory 用戶端延伸 (DSClient) Windows NT 4.0。 如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
288358如何安裝 Active Directory 用戶端延伸模組
用於執行分散式的查詢,使用 ADSI 的逐步程序可將異質資料 」] 下找到下列 MSDN 程式庫文件中:
聯結異質資料
http://msdn.microsoft.com/en-us/library/aa746379.aspx
發出 OPENQUERY 命令時 SQL Server 將會叫用 ADSI 的 OLEDB 提供者,設定成 [sp_addlinkedserver 函式中的 ADsDSOObject。 提供者會將查詢傳遞至基礎 ADSI lDirectorySearch 介面函式。 這些 ADSI 函式會使對想要的伺服器所需的 LDAP 呼叫。 然後會到 SQL Server 備份相同圖層傳遞從伺服器回應。

可以用在 [LDAP] 或 [SQL 用語中的查詢。下列 MSDN 文件] 下,您可以找到使用 ADSI 的 OLEDB 提供者搜尋的其他資訊:
搜尋 Active Directory
http://msdn.microsoft.com/en-us/library/aa746468(VS.85).aspx
下列的副主題,在 MSDN 下找到相關的兩個用語討論:
方言
http://msdn.microsoft.com/en-us/library/aa772377(VS.85).aspx
如果一個星號 (*) 指定給屬性清單,ADSI OLEDB 提供者會傳回包含的每個項目 ADsPath 資料錄集。ADsPath 是用戶端產生屬性,並保證 singled 的重要屬性以傳回。

無伺服器繫結字串是不包含名稱或目標伺服器的 IP 位址。 無伺服器繫結用來找出最佳的 Windows 2000 網域控制站來處理要求。 目標伺服器不是預設網域的 Windows 2000 網域控制站時,不能使用無伺服器繫結。 無伺服器繫結的額外資訊,請參閱
無伺服器繫結和 RootDSE
http://msdn.microsoft.com/en-us/library/ms677945.aspx
在本白皮書中範例,將會使用 OPENQUERY 呼叫發出在其下的認證來連絡 LDAP 伺服器。 這視您的應用程式如何設計,可能或不可能令人滿意。 如果使用 SQL Server 驗證,而非 Windows 驗證,則 SQL 憑證會傳達給目錄中。 如果目標目錄服務不支援 Windows 驗證,也會發生驗證問題。 如更多有關使用 ADSI 查詢這些 LDAP 伺服器的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
251195如何使用 ADSI 查詢協力廠商 LDAP 伺服器
如果您不希望使用相同的認證作為 OPENQUERY 呼叫的連絡目錄,sp_addlinksrvlogin 可用來改變的識別在其下聯絡遠端伺服器。 實作 sp_addlinksrvlogin 時 ADSI 會叫簡單的繫結到目標目錄服務用與 rmtuserrmtpassword 參數中指定之資訊。 請務必注意簡單繫結會傳遞到目錄伺服器以純文字認證。這也有好處,它將會瞭解的許多的目錄伺服器,但一個缺點是使用者名稱和密碼會顯示在網路監視器上。 如需簡單的相關資訊會繫結,請參閱:
ldap_simple_bind_s
http://msdn.microsoft.com/en-us/library/aa366995.aspx
一旦加入,您可以藉由呼叫 sp_droplinkedsrvlogin 移除 sp_addlinksrvlogin

限制

若要提取來自 LDAP 伺服器的資訊使用 OPENQUERY 陳述式的處理序不會遭受一些限制。 限制可以規避在某些情況下,但在其他應用程式的設計必須被改變。外部應用程式或使用 ADSI 來從 LDAP 伺服器擷取資訊,並使用 ADO 或其他資料存取方法,以建立資料表在 SQL 中的 COM 物件是另一個可行的方法。

第一個限制是多重數值的內容不能傳回結果集中到 SQL Server。 ADSI 會從定義結構和語法的類別和伺服器所使用的屬性的 LDAP 伺服器讀取結構描述資訊。 如果 LDAP 伺服器要求的屬性定義為多重值結構描述中不能傳回 OPENQUERY 陳述式中。

它是一般目錄伺服器來強制執行的指定查詢將傳回的物件數量的伺服器限制。 這是為了要防止拒絕服務攻擊和網路多載。 若要正確查詢目錄伺服器,大型查詢應該被分成許多較小的。 如果要執行這項操作的方法之一是透過稱為分頁的程序。 當分頁可透過 ADSI 的 OLEDB 提供者時目前沒有方法可從 SQL 分散式查詢執行。 這表示可以為查詢傳回的物件總數是伺服器限制。 在 Windows 2000 正在使用中目錄中預設伺服器的限制值是 1,000 的物件。 可以找到有關分頁的詳細資訊,下列 MSDN Library 主題下:
分頁 IDirectorySearch
http://msdn.microsoft.com/en-us/library/aa746414(VS.85).aspx
如更多有關如何使用 NTDSUtil 來修改伺服器限制為 maxPageSize,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
315071如何檢視和使用 Ntdsutil.exe Active Directory 中設定 LDAP 原則

?考

如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
187529如何使用 ADO 來存取物件透過 ADSI LDAP 提供者
平台 SDK 可以找到更多的資訊,了解哪種在下列 Microsoft 網站 ADSI 一節中,您可以找到包括一個範例的詳細資訊:
http://www.microsoft.com/downloads/details.aspx?FamilyId=149187AC-7008-4F49-A00A-26DCEBE0FC32&displaylang=en

上述的連結也有資訊關於何處可取得下載,在標題為 sectiont 下的頁面底部的各種 Windows SDK: 」 有什麼其他人是否下載 」。

屬性

文章編號: 299410 - 上次校閱: 2006年4月11日 - 版次: 5.5
這篇文章中的資訊適用於:
  • Microsoft Active Directory Service Interfaces 2.5
  • Microsoft Active Directory Service Interfaces 2.5
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft Active Directory Service Interfaces 2.5
關鍵字:?
kbmt kbdswadsi2003swept kbinfo KB299410 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:299410
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com