تنفيذ SQL توزيع الاستعلام باستخدام ADSI

ملخص

توفر هذه المقالة معلومات حول استخدام موفر OLEDB واجهات خدمات الدليل النشط (ADSI) من ملقم SQL لتنفيذ استعلام موزع.

مزيد من المعلومات

متطلبات ومعلومات عامة

استعلام موزع يسمح المطور لملء جدول ملقم SQL أو طريقة العرض باستخدام البيانات الموجودة في "خدمة active Directory" أو خادم بروتوكول الوصول الخفيف إلى الدليل (LDAP) الأخرى. لتنفيذ استعلام موزعة باستخدام ADSI، الملقم يجب تشغيل SQL Server 7.0 أو ما بعدة. ADSI هو أحد مكونات نظام المطلوبة حتى لا تثبيت إضافية في على نظام التشغيل Windows 2000. إذا كان ملقم نظام التشغيل Windows NT 4.0، يجب تثبيت "نشط الدليل ملحق العميل" (دسكلينت) لنظام التشغيل Windows NT 4.0. للحصول على مزيد من المعلومات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

كيفية تثبيت ملحق العميل دليل Active 288358

يمكن العثور على إجراء خطوة بخطوة لتنفيذ استعلام موزعة باستخدام ADSI ضمن "ربط بيانات غير متجانسة" في مكتبة MSDN التالية:

ربط البيانات غير المتجانسة
http://msdn.microsoft.com/en-us/library/aa746379.aspx
عندما يتم إصدار الأمر OPENQUERY، سيستدعي SQL Server ADSI لموفر OLEDB، أدسدسوبجيكت، التي أنشئت في الدالة sp_addlinkedserver . يمرر الموفر الاستعلام إلى وظائف واجهة لديريكتوريسيرتش ADSI الأساسي. سيجعل هذه الدالات ADSI المكالمات LDAP الضرورية إلى الملقم المطلوب. سيتم تمرير الاستجابات من الملقم ثم النسخ الاحتياطي لنفس الطبقات إلى SQL Server.

يمكن استخدام استعلام LDAP أو SQL اللهجات. يمكن العثور على معلومات إضافية حول البحث باستخدام موفر OLEDB الخاص ADSI ضمن مقالة MSDN التالي:وترد مناقشة اللهجات اثنين تحت الموضوع الفرعي التالي في MSDN:إذا تم تحديد علامة نجمة (*) لقائمة السمات، موفر ADSI OLEDB إرجاع سجلات التي تحتوي على ADsPath كل إدخال. ADsPath هو جانب عميل إنشاء السمة وضمان يتم إرجاعها كسمة هامة تستفرد.


سلسلة ربط هو الذي لا يحتوي على اسم أو عنوان IP للخادم الهدف. ضم تستخدم لتحديد موقع وحدة تحكم المجال Windows 2000 أفضل لمعالجة الطلب. لا يمكن استخدام الروابط عندما يكون الخادم الهدف ليس وحدة تحكم مجال Windows 2000 للمجال الافتراضي. للحصول على معلومات إضافية حول الروابط، راجع

في المثال الموجود في الكتاب الأبيض، سيتم الاتصال بخادم LDAP باستخدام بيانات الاعتماد التي تم إجراء استدعاء OPENQUERY . استناداً إلى كيفية تصميم التطبيق الخاص بك، وهذا قد أو قد لا يكون مطلوباً. إذا تم استخدام مصادقة خادم SQL بدلاً من مصادقة Windows، يمكن نقل بيانات اعتماد SQL إلى الدليل. مشاكل المصادقة سيحدث أيضا إذا كان لا يدعم خدمة الدليل الهدف مصادقة Windows.
لمزيد من المعلومات حول استخدام ADSI للاستعلام عن ملقمات LDAP هذه، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

كيفية استخدام ADSI لاستعلام خادم LDAP خارجية 251195

إذا لم يكن مطلوباً للاتصال الدليل باستخدام نفس بيانات الاعتماد كاستدعاء OPENQUERY ، يمكن استخدام sp_addlinksrvlogin لتغيير الهوية التي يتم فيها الاتصال ملقم بعيد. وعندما ينفذ sp_addlinksrvlogin استدعاء ADSI ربط بسيط لخدمة الدليل الهدف بالمعلومات المحددة في معلمات رمتوسير و رمتباسورد . من المهم ملاحظة أن ربط بسيط سوف ينقل بيانات الاعتماد إلى ملقم الدليل في نص واضح. وهذا له ميزة سيكون مفهوما بالعديد من ملقمات الدليل، ولكن العائق اسم المستخدم وكلمة المرور تكون مرئية على جهاز عرض شبكة اتصال. لمزيد من المعلومات راجع الروابط البسيطة:



بمجرد إضافة، يمكن إزالة sp_addlinksrvlogin عن طريق استدعاء sp_droplinkedsrvlogin.

القيود

عملية استخدام عبارة OPENQUERY لاستخراج المعلومات من خادم LDAP تعاني من بعض القيود. يمكن التحايل عليها القيود في بعض الحالات، ولكن يجب تغيير تصميم التطبيق في بلدان أخرى. تطبيق خارجي أو كائن COM الذي يستخدمه ADSI لاسترداد المعلومات من خادم LDAP ومن ثم إنشاء جدول في SQL باستخدام ADO أو أساليب الوصول إلى البيانات الأخرى آخر.

القيد الأول أنه لا يمكن إرجاع خاصية متعددة القيم في مجموعة النتائج إلى SQL Server. ADSI سيتم قراءة معلومات المخطط من خادم LDAP التي تعرف بنية وبناء الجملة من فئات والسمات المستخدمة من قبل الملقم. إذا تم تعريف السمة التي يتم طلبها من خادم LDAP في مخطط أنه متعدد القيم لا يمكن إرجاع في عبارة OPENQUERY.

ومن المعتاد ملقم دليل لفرض قيود ملقم على عدد الكائنات التي يتم إرجاعها لاستعلام محدد. وهذا لمنع هجمات رفض الخدمة والشبكة التحميل الزائد. للاستعلام ملقم الدليل بشكل صحيح، يجب تقسيم الاستعلامات الكبيرة إلى عدد أصغر. إحدى الطرق للقيام بذلك من خلال عملية تسمى الترحيل. بينما المتوفرة من موفر OLEDB ADSI للترحيل، لا توجد حاليا أية طريقة متوفرة لتنفيذ استعلام SQL موزعة. وهذا يعني أن العدد الإجمالي للكائنات التي يتم إرجاعها لاستعلام حد الملقم. في Windows 2000 Active Directory، حد الملقم الافتراضي هو 1000 الكائنات. يمكن العثور على مزيد من المعلومات حول الترحيل ضمن الموضوع مكتبة MSDN التالي:

الترحيل باستخدام إيديريكتوريسيرتش
http://msdn.microsoft.com/en-us/library/aa746414(VS.85).aspx
لمزيد من المعلومات حول كيفية تعديل حد الملقم ماكسباجيسيزي باستخدام NTDSUtil، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

كيفية عرض وتعيين نهج LDAP في "Active Directory" باستخدام Ntdsutil.exe 315071

المراجع

لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":

187529 كيفية استخدام ADO للوصول إلى الكائنات من خلال موفر ADSI LDAP

يمكن العثور على مزيد من المعلومات، بما في ذلك نموذج، في المقطع ADSI من Platform SDK، مزيد من المعلومات التي ترد في موقع Microsoft التالي على الويب:
الرابط أعلاه أيضا على معلومات حول أين يمكن الحصول على التحميل لمختلف SDKs Windows في أسفل الصفحة تحت سيكتيونت تحت عنوان: "ما الآخرين تحميله".
خصائص

رقم الموضوع: 299410 - آخر مراجعة: 18‏/01‏/2017 - المراجعة: 2

تعليقات