سؤال

أحاول دون جدوى التسبب في SPQueryThrottledException محليًا لتصحيح مشكلة يواجهها العميل.

أنا استخدم SPSiteDataQuery للاستعلام عن العديد من المواقع التي تحتوي على 4000 ل 8000 العناصر لكل منها، بإجمالي أكثر 43000.يتم تشغيل الاستعلام مقابل مثيل مرتفع من SPWeb الجذر لمجموعة الموقع.

تتم تصفية الاستعلام باستخدام كل من <Webs> و <Lists> العناصر، ولكن ليس بأي سمة أخرى، ولا يتم الاستعلام عنها بشكل متكرر.يتم تشغيله في نطاق مجموعة الموقع.

تم تشغيل الاستعلام بنجاح عند تشغيله بواسطة حسابات المستخدمين ذوي أذونات مستوى المساهمة والأعلى (على الرغم من أن هذا زائد عن الحاجة نظرًا للارتفاع).قد تفشل مستويات الأذونات المنخفضة لأسباب أخرى.

التقلب هو هذا:عند التشغيل محليًا، ينجح الاستعلام، ولكن عند التشغيل في المثيل المباشر للعميل، يفشل الاستعلام عندما يكون أكثر من 5000 يتم الاستعلام عن العناصر في المجموع.

كلانا لديه نفس إعدادات الاختناق:

  • الحد الطبيعي 5000
  • 20000 حد المشرف/التدقيق
  • تم تعطيل إزالة حد الاستعلام خارج ساعات العمل
  • 8 حد للبحث عن الحقول (وهو ما لا نقترب منه في أي مكان)

فلماذا يتم تشغيل الاستعلام بنجاح هنا، مع تجاوز طلبات العناصر حتى حد المشرف؟

هل كانت مفيدة؟

المحلول 2

أجرى أحد زملائي القليل من البحث لأنه أثار فضولهم.ويبدو أن سبب الاختلاف هو حساب المستخدم الذي تم تصعيد العملية إليه.

لقد اتبع عميلنا توصيات Microsoft وقام بإعداد حساب لا يتمتع بأذونات المسؤول.بينما كنت أعمل على صندوق تطوير بدون مثل هذه القيود.

نصائح أخرى

هل تمت فهرسة الحقول الموجودة في القوائم الموجودة في بيئتك المحلية؟إذا تمت فهرستها، فلن يحدث الاختناق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top