SQL を実行するクエリの ADSI を使用して配布

文書翻訳 文書翻訳
文書番号: 299410
すべて展開する | すべて折りたたむ

目次

概要

ここは SQL Server からの Active Directory サービス インターフェイス (ADSI) の ole DB プロバイダーを使用して分散クエリを実行する方法について説明します。

詳細

要件と一般的な情報

分散クエリ SQL Server のテーブルまたはビューのデータを Active Directory またはその他のライトウェイト ディレクトリ アクセス プロトコル (LDAP) サーバーを作成する開発者をできます。ADSI を使用して分散クエリを実行するには、サーバーで、SQL Server 7.0 またはそれ以降を実行している必要があります。ADSI は、追加のインストールでオペレーティング システムに不要する Windows 2000 のシステム コンポーネントです。Windows NT 4.0 サーバのオペレーティング ・ システムの場合は、Active Directory クライアント エクス テンション (DSClient) Windows NT 4.0 をインストールしなければなりません。 詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
288358Active Directory クライアント エクス テンションをインストールする方法
ADSI を使用して分散クエリを実行する詳細な手順「に参加する異機種混在データで」MSDN ライブラリの次の資料をご覧ください。
異機種混在環境のデータを結合します。
http://msdn.microsoft.com/en-us/library/aa746379.aspx
OPENQUERY コマンドが発行されると、ADSI の ole DB プロバイダーで設定された ADsDSOObject、SQL Server が呼び出されますが sp_addlinkedserver 関数です。プロバイダーはクエリ基の lDirectorySearch ADSI インターフェイス関数に渡します。ADSI 関数に必要な LDAP 呼び出しするには、目的のサーバーになります。サーバーからの応答は SQL Server に、同一のレイヤーを渡されます。

クエリでは、LDAP または SQL のいずれかの言語を使用できます。ADSI の ole DB プロバイダーと検索の詳細については、MSDN の次の資料でご覧ください。
Active Directory を検索します。
.aspx の http://msdn.microsoft.com/en-us/library/aa746468 (VS.85)
2 つの言語については、msdn の次のサブトピックの下にあります。
方言
.aspx の http://msdn.microsoft.com/en-us/library/aa772377 (VS.85)
属性] ボックスの一覧でアスタリスク (*) を指定する場合は、ADSI の ole DB プロバイダーは、各項目の ADsPath のみを含むレコード セットを返します。ADsPath は、クライアント側の属性を生成して、singled の値を持つ属性として返されることが保証されますです。

サーバーなしのバインド文字列は、名またはターゲット ・ サーバーの IP アドレスが含まれていないです。サーバーなしのバインド要求を処理するために最適な Windows 2000 ドメイン コント ローラーを検索する使用されます。対象サーバーは、既定のドメインの Windows 2000 ドメイン コント ローラーがサーバーなしのバインドは使用できません。サーバーなしのバインドの詳細についてを参照してください。
サーバーレス バインドして RootDSE
http://msdn.microsoft.com/en-us/library/ms677945.aspx
ホワイト ペーパーの例では、LDAP サーバーで資格情報を使用して連絡が、 OPENQUERY 呼び出しが行われました。アプリケーションの設計方法によっては、これもした方がよい場合があります。Windows 認証ではなく SQL Server の認証を使用すると、SQL の資格情報をディレクトリに伝える必要があります。認証の問題は、Windows 認証の対象となるディレクトリ サービスをサポートしていない場合も発生します。ADSI を使用して LDAP サーバーに照会する詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
251195ADSI を使用して、サード パーティ製の LDAP サーバーにクエリを実行する方法
同じ資格情報を使用して、ディレクトリを連絡することが重要でないかどうかは、 OPENQUERY 電話をかけるに sp_addlinksrvlogin リモート サーバーへのアクセスで id を変更する使用できます。場合は、 sp_addlinksrvlogin 実装されている ADSI は呼び出し対象となるディレクトリ サービスへの単純なバインドで指定された情報で、 rmtuserrmtpassword パラメーターです。単純なバインドがディレクトリ サーバーにクリア テキストの資格情報が伝達されますに注意してくださいすることが重要です。これは、利点は、多くのディレクトリ ・ サーバが認識することが、欠点は、ユーザー名とパスワードは、ネットワーク モニターで表示されることですです。についての単純なバインドを参照してください。
ldap_simple_bind_s
http://msdn.microsoft.com/en-us/library/aa366995.aspx
1 度に追加すると、 sp_addlinksrvlogin 呼び出すことによって削除することができます。 sp_droplinkedsrvlogin.

制限事項

OPENQUERY ステートメントを使用して、LDAP サーバーからデータをプル配信するプロセスからいくつかの制限が低下は。場合によっては、制限を回避できますが、他のアプリケーションのデザインを変更すること。外部アプリケーションや COM オブジェクトは、ADSI を使用して、LDAP サーバーから情報を取得して ADO またはその他のデータ アクセス メソッドを使用して、テーブルに SQL を作成するには、別の有効な方法です。

最初の制限は、複数値を持つプロパティ、結果セットの SQL Server を返すことができないことです。ADSI 構造や構文のクラスがサーバーによって使用される属性を定義する LDAP サーバーからのスキーマ情報が読み取られます。LDAP サーバーからの要求は、属性と複数値を持つ、スキーマで定義されている場合は、OPENQUERY ステートメントでは返されません。

一般的なディレクトリ ・ サーバが特定のクエリに対して返されるオブジェクトの数がサーバの制限を強制するのです。これは、サービス拒否の攻撃、ネットワークの過負荷を防ぐためにです。正しくディレクトリ サーバーを照会するには、大きなクエリ多くの小さいシナリオに分割する必要があります。これを行うには、1 つの方法ページングと呼ばれるプロセスを通じてです。ページングは ADSI の ole DB プロバイダーを介して利用可能ですが、ことはできません現在 SQL からの分散クエリを実行するために使用します。これは、クエリで返されるオブジェクトの数、サーバー制限であることを意味します。Windows 2000 Active Directory では、サーバーの既定の制限は 1,000 オブジェクトです。ページングの詳細については、MSDN ライブラリの次のトピックの下にあります。
ページングが IDirectorySearch
.aspx の http://msdn.microsoft.com/en-us/library/aa746414 (VS.85)
NTDSUtil を使用して maxPageSize のサーバーの制限を変更する方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
315071表示し、Ntdsutil.exe を使用して、Active Directory の LDAP ポリシーを設定する方法

関連情報

詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
187529ADSI LDAP プロバイダーを介してオブジェクトを ADO を使用してアクセスする方法
サンプルを含めた詳細情報は、プラットフォーム SDK の詳細については、次のマイクロソフト Web サイトにありますの ADSI でご覧いただけます。
ドキュメントですか。FamilyId = の 149187AC-7008-4F49-A00A-26DCEBE0FC32 & displaylang = en

上記のリンクもについての情報」、sectiont、ページの下部のさまざまな Windows Sdk のダウンロードの入手先が:「どのような他の人がダウンロード」。

プロパティ

文書番号: 299410 - 最終更新日: 2011年7月25日 - リビジョン: 7.0
キーワード:?
kbinfo kbdswadsi2003swept kbmt KB299410 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:299410
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

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