Frage

Ich versuche erfolglos, eine zu verursachen SPQueryThrottledException lokal, um ein Problem zu beheben, das ein Kunde hat.

Ich benutze SPSiteDataQuery um mehrere Websites abzufragen, die enthalten 4000 zu 8000 artikel jeweils, insgesamt über 43000.Die Abfrage wird für eine erhöhte Instanz des Stamm-SPWeb der Websitesammlung ausgeführt.

Die Abfrage wird gefiltert, indem sowohl die <Webs> und <Lists> elemente, aber nicht nach einem anderen Attribut, und fragt nicht rekursiv ab.Es wird im Bereich der Websitesammlung ausgeführt.

Die Abfrage wurde erfolgreich ausgeführt, wenn sie von Benutzerkonten mit Berechtigungen der Beitragsebene und höher ausgelöst wurde (obwohl dies angesichts der Erhöhung redundant ist).Niedrigere Berechtigungsstufen würden aus anderen Gründen fehlschlagen.

Der Twist ist das:Bei lokaler Ausführung ist die Abfrage erfolgreich, bei Ausführung in der Live-Instanz des Kunden schlägt die Abfrage jedoch fehl, wenn mehr als 5000 artikel werden insgesamt abgefragt.

Wir haben beide die gleichen Drosselungseinstellungen:

  • 5000 normale Grenze
  • 20000 Administrator- / Prüflimit
  • Das Entfernen des Abfragelimits außerhalb der Geschäftszeiten ist deaktiviert
  • 8 feld-Lookup-Limit (in dessen Nähe wir noch lange nicht sind)

Warum läuft die Abfrage hier erfolgreich, wobei Artikelanforderungen weit über das Administratorlimit hinausgehen?

War es hilfreich?

Lösung 2

Ein Kollege von mir hat ein bisschen recherchiert, weil es ihre Neugier geweckt hat.Es scheint, dass die Ursache für den Unterschied ist das Benutzerkonto, auf das der Prozess eskaliert ist.

Unser Kunde hat die Empfehlungen von Microsoft befolgt und ein Konto eingerichtet, das keine Administratorrechte besitzt.Während ich auf einer Entwicklungsbox ohne solche Einschränkungen lief.

Andere Tipps

Sind die Felder in den Listen in Ihrer lokalen Umgebung indiziert?Wenn sie indiziert sind, tritt keine Drosselung auf.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top