Sandra Erb

Der Object Cache wird vom Publishing Feature genutzt und speichert Eigenschaften von verschiedenen SharePoint Elementen. Das Ziel des Object Caches ist es u.a. die Last des SQL Servers zu reduzieren. Mehr Informationen zum Object Cache gibt es unter http://technet.microsoft.com/en-us/library/ff758656.aspx.

Wurden die Standardeinstellungen des Object Caches übernommen und das Publishing Feature in einer Applikation aktiviert, so wird in regelmäßigen Abständen die folgende Warnung ins Windows Event Log geschrieben:

Event ID: 7362

Log Name:          Application
Source:               Microsoft-SharePoint Products-Web Content Management
Date:                  11.10.2010 12:03:30
Event ID:           7362
Task Category: Publishing Cache
Level:                 Warning
Keywords:
User:                  <SharePoint System Account>
Computer:          <SharePoint Server>
Description:
Object Cache: The super user account utilized by the cache is not configured. This can increase the number of cache misses, which causes the page requests to consume unneccesary system resources.
To configure the account use the following command ’stsadm -o setproperty -propertyname portalsuperuseraccount -propertyvalue account -url webappurl‘. The account should be any account that has Full Control access to the SharePoint databases but is not an application pool account.
Additional Data:
Current default super user account: SHAREPOINT\system

Ursache

Standardmäßig wird der SharePoint Systemaccount als Cache Super User Account eingetragen. Allerdings sollte dieser für jede Webapplikation, welche das Publishing Feature verwendet, auf zwei Domänenbenutzer aufgeteilt werden.

Warum zwei Benutzer?

Der Object Cache führt seine Abfragen als einer von zwei Benutzern aus, entweder als “Super User”, welcher vollen Zugriff auf alle Objekte im SharePoint hat (so z.B. auch auf Dokumente, welche noch den Status “Entwurf” haben), oder als “Super Reader”, welcher nur Zugriff auf veröffentlichte Objekte hat. Führt ein Benutzer nun z.B. eine Suche aus, so werden die Ergebnisse aus dem Cache angezeigt. Je nach dem, über welche Berechtigungen der Benutzer selbst verfügt, werden ihm entweder die Ergebnisse des “Super Users” oder des “Super Readers” angezeigt.

Lösung

Im Active Directory müssen zwei neue Benutzeraccounts angelegt werden. Diese Accounts benötigen keine besonderen Rechte oder Gruppenzugehörigkeiten. Die beiden Accounts sollten ausschließlich als Cache Accounts verwendet werden und niemals dafür die SharePoint Seite über den Browser aufzurufen.

Um die Benutzer nun richtig zu konfigurieren gibt es verschiedene Möglichkeiten. Diese Schritte müssen für alle Webapplikationen durchgeführt werden müssen, welche das Publishing Feature verwenden.

Variante 1: Central Administration und Power Shell

  1. In der SharePoint 2010 Central Administration im Bereich Application Management die Seite Manage web applications öffnen.
  2. Den Namen der Webapplikation auswählen, für welche die Konfiguration vorgenommen werden soll.
  3. Aus dem Web Applications Tab die Option User Policy auswählen.
  4. Im “Policy for Web Application” Fenster auf “Add Users” klicken.
  5. Als Zone “All zones” auswählen und auf “Next” klicken.
  6. Den Namen des Super User Accounts eintragen und als Berechtigung “Full Control – Has full control” auswählen.
  7. Auf “Finish” klicken und auf die selbe Art und Weise den Super Reader Account hinzufügen. Als Zone wieder “All zones” wählen und als Berechtigung “Full Read – Has full read-only access” einstellen.
  8. Eine Power Shell/SharePoint 2010 Management Konsole öffnen die folgenden Befehle ausführen:

    Hierbei ist wichtig, dass die Namen der beiden Benutzer Accounts in der selben Schreibweise angegeben werden, wie sie im Fenster “Policy for Web Application” angezeigt werden.

Tipp: Die oben gezeigten Befehle können auch als Power Shell Skript (.ps1 Datei) gespeichert werden.

Variante 2: Power Shell

Muss die Einstellung für mehrere Applikationen vorgenommen werden, lohnt sich die Automatisierung über ein Power Shell Script.

Variante 3: Central Administration und STSADM

Für alle, die sich noch nicht mit der PowerShell auseinander gesetzt haben, gibt es die Möglichkeit die Benutzer auch über stsadm zu konfigurieren. Ich lege allerdings jedem SharePoint 2010 Administrator ans Herz sich schnellstmöglich mit der Power Shell vertraut zu machen, da stsadm in Zukunft von dieser abgelöst wird.

  1. Die Schritte 1 bis 7 aus dem Abschnitt “Variante 1: Central Administration und Power Shell” ausführen, um die Benutzer der Web Applikation zuzuordnen.
  2. Die nachfolgenden stsadm Befehle für jede Webapplikation ausführen: