Beim Aufruf von Listenansichten in SharePoint kann eine Fehlermeldung auftreten, die sich auf einen bestimmten Schwellenwert oder Limit bezieht. Wir zeigen drei mögliche Lösungswege, diese Fehlermeldung zu umgehen.
Neben der Fehlermeldung beim Limit der magischen 5.000 gibt es noch eine weitere, die beim Aufruf von Listenansichten auftreten kann:
Bis SharePoint 2013:
„Diese Ansicht kann nicht angezeigt werden, weil die Anzahl der darin enthaltenen Nachschlage- und Workflow-Statusspalten den durch den Administrator durchgesetzten Schwellenwert (8) übersteigt.“
Ab SharePoint 2016 und SharePoint Online:
„Diese Ansicht kann nicht angezeigt werden, weil die Anzahl der darin enthaltenen Nachschlage- und Workflow-Statusspalten den durch den Administrator durchgesetzten Schwellenwert (12) übersteigt.“
Grund für diesen festen Schwellenwert ist auch hier die Vermeidung möglicher Engpässe bei der Performance von Beginn an. Wird nämlich die Spaltenanzahl über den Schwellenwert erhöht, steigt die Prozessorauslastung des SQL-Servers exponentiell an, da für jede Nachschlagespalte in einer Ansicht eine JOIN-Operation zur Abfrage hinzugefügt wird. Dies betrifft alle Arten von Nachschlagespalten:
– Standard-Nachschlagespalten
– Managed Metadata
– Personen und Gruppen (inklusive „Erstellt von“ und „Geändert von“)
– Workflow-Status
– Weitere Systemspalten, wie Typ (mit Dokument verknüpftes Symbol), Name (Hyperlink zu Dokument mit Bearbeitungsmenü), Name (mit Dokument verknüpft), Bearbeiten (Hyperlink zum Bearbeitungselement)
Analog zum Limit der magischen 5.000 Listeneinträge verhält sich auch die Darstellung des Fehlers für User und Administratoren unterschiedlich. Ein Farm-Administrator kann eine Listenansicht mit mehr als 8 dieser speziellen Spaltentypen erstellen und dann die Ansicht problemlos aufrufen, während ein User die oben genannte Fehlermeldung erhält. Deshalb ist es auch hier ratsam, auf einen separaten Test-Account ohne Farm-Administratorberechtigungen beim Testen von Ansichten zurückzugreifen.
Fehlermeldung bei Listenzugriffen durch einen Client umgehen
Nicht nur in den Listenansichten tritt die Fehlermeldung auf. Auch bei clientseitigen Listenzugriffen, etwa durch das Client Object Model oder Webservices, tritt die Fehlermeldung auf. Die Synchronisierung mit Office365 und SharePoint Workspace bei einer Liste mit mehr als 8 Nachschlagespalten funktioniert generell nicht. Wie kann die Fehlermeldung umgangen werden?
1. Reduzierung der angezeigten Nachschlagespalten
Die Reduzierung der in einer Listenansicht angezeigten Nachschlagespalten ist einer der einfachsten Wege, die Fehlermeldung zu vermeiden. Diese Einstellung kann schnell vorgenommen und getestet werden. Problematisch wird es allerdings, wenn dadurch die Ansicht mit allen gewünschten Daten nicht mehr zur Verfügung gestellt werden kann.
2. Schwellenwert in SharePoint On-Premises erhöhen
In SharePoint On-Premises lässt sich der Schwellenwert erhöhen. Dies geschieht über die zentrale Administration für die jeweilige Web-Applikation unter dem Menü „Allgemeine Einstellungen“ im Menüpunkt „Ressourcensteuerung“. Dort kann im Feld „Schwellenwert für den Listenansicht-Nachschlagevorgang“ der gewünschte Wert eingetragen werden.
Der Einsatz dieses Lösungswegs sollte gut überlegt sein. Wie oben schon gesagt: Mit jeder weiteren Nachschlagespalte, die pro Listenansicht angezeigt werden soll, erhöht sich die Auslastung auf die zugrunde liegende CPU-Leistung des SQL-Servers exponentiell. Außerdem steht diese Option für SharePoint Online nicht zur Verfügung.
3. Lösung über IDs
Um den Nachteil aus 2. und auch die Synchronisierungsprobleme bei Office365 und SharePoint Workspace zu beheben, bietet es sich an, den Verweis über die Nachschlagespalten auf andere Listen über einen anderen Mechanismus zu realisieren. So können z.B. IDs aus der vermeintlichen Nachschlageliste in einer Spalte vom Typ Zahl als Fremdschlüssel gespeichert werden. Dadurch entfallen die Vorteile der Nachschlagespalte, wie Anzeige anderer Spalten aus der Nachschlagespalte und deren Aktualität.
Darüber hinaus muss die Speicherung dieser Werte über einen eigenen programmatischen Mechanismus realisiert werden, wie zum Beispiel die Erweiterung der Formularspeicherung mit dem Client Object Model oder die Nutzung von Workflows beziehungsweise Event-Receivern im Hintergrund des Speicherns. Dafür erhält man Listen, die synchronisiert werden können oder auf deren Daten man clientseitig problemlos zugreifen kann.
Eine klare Empfehlung für einen Standardfall lässt sich aus den genannten Lösungsvarianten nicht ableiten. Die Entscheidung hängt hier ebenfalls vom Einsatzzweck, den Hardware-Ressourcen und der eingesetzten SharePoint-Version ab. Während mit SharePoint On-Premises alle drei Punkte umgesetzt werden können, bietet sich beim Einsatz von Office 365 der dritte Lösungsweg an. Obwohl dieser am meisten Aufwand zur Umsetzung benötigt, bietet er maximale Robustheit im Hinblick auf die Anzeige der Listenansicht und die Synchronisierung.
Anzeige von Listen mit Microsoft Power BI
Eine weitere Alternative im Office 365-Umfeld zur Anzeige von Listen mit vielen Nachschlagespalten ist die Anzeige der Daten als Liste oder Tabelle mit Hilfe von Microsoft Power BI. Bei den OData- Abfragen tritt die Fehlermeldung zwar auch auf, wenn man sich zu viele Nachschlagespalten zurückgeben lässt, doch die Gesamtzahl der Nachschlagespalten kann auf mehrere Abfragen an die Liste mit jeweils anderen Nachschlagespalten verteilt und diese dann über das Datenmodell in Power BI wieder miteinander verknüpft werden.