Das ist neu in Service Pack 1 für SharePoint 2010

Weil ich nicht einfach einen langweiligen Artikel mit der Info "Ende Juni erscheint das Service Pack 1 für SharePoint 2010" schreiben wollte, damit die Info auch raus ist, hat's halt ein bisschen länger gedauert. Dafür sind die darin enthaltenen Informationen umso spannender.

Ende Juni erscheint das Service Pack 1 für SharePoint 2010 gleichzeit in allen Sprachen und steht als manueller Download zur Verfügung. 90 Tage nach Erscheinen wird SP1 dann auch als automatisches Update verteilt.

Neuerungen von Service Pack 1 für SharePoint

  • Site Recycle Bin Funktion zum selbstständigen Wiederherstellen von Site Collections und Sites. Administratoren können damit Site Collections und Sites analog dem bereits bekannten Vorgehen für Listen, Bibliotheken und Dokumenten wiederherstellen.
  • Shadow Copy ermöglicht das Verschieben von Site Collections mit aktiviertem Remote BLOB Storage mittels Move-SPSite CmdLet zwischen Content Datenbanken, ohne dass die damit verbunden Dateien verschoben werden müssen.
  • StorMan.aspx (Storage Space Allocation) ist zurück, nachdem dieses aus SharePoint 2010 entfernt worden war. Damit ist es möglich, detaillierte Einblicke in den Speicherverbrauch zu erlangen und diesen zu verwalten.
  • SharePoint und die Office Web Applications unterstützen Internet Explorer 9 (native) und Google Chrome.
  • Charts können direkt in Excel Web Applications eingefügt werden.
  • Vorschau von Mail Anhängen in Outlook Web App mit Exchange Online.
  • Diverse Verbesserungen im Bereich Sicherheit.
  • Verbesserungen in Bezug auf die Zuverlässigkeit, z.B. User Profile Sync.
  • Enthält alle bereits erschienenen Cumulative Updates.

The super user account utilized by the cache is not configured

Im Event Viewer erscheint der die Event ID 7362 mit der Beschreibung:
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

Diese Warnung bedeutet, dass die Benutzerkonten für den Cache einer Web Application nicht korrekt gesetzt sind und viele Anfragen nicht zwischengespeichert werden können. Dies hat zur Folge, dass Benutzeranfragen nicht direkt aus dem Cache geladen werden, sondern von Grund auf mit den Daten aus der Datenbank und dem Filesystem gerendert werden müssen. Das bedeutet zum einen mehr Zugriffe auf den Datenbankserver und zum anderen eine schlechtere Performance für die Benutzer.

So lösen Sie das Problem

  • Erstellen Sie zwei neue Service Accounts. Einer ist der Super Reader Account und heisst z.B. domain\superreader, der andere ist der Super User Account und heisst z.B. domain\superuser. Beide Benutzer sollten über keine spezielle Berechtigungen verfügen und weder auf Web Applications noch auf Application Pools Zugriff haben oder Farm Administratoren sein.
  • Erstellen einer User Policy mit Full Control für den Super User Account:
    Navigieren Sie in der Central Administration zu Application Management > Manage Web Applications. Wählen Sie die entsprechende Web Application aus und klicken Sie auf User Policy > Add Users > All Zones > Next
    Tragen Sie hier den zuvor erstellten Benutzer domain\superuser ein und wählen Sie Full Control. Mit OK bestätigen.
  • Erstellen einer User Policy mit Full Read für den Super Read Account:
    Navigieren Sie in der Central Administration zu Application Management > Manage Web Applications. Wählen Sie die entsprechende Web Application aus und klicken Sie auf User Policy > Add Users > All Zones > Next
    Tragen Sie hier den zuvor erstellten Benutzer domain\superreader ein und wählen Sie Full Read. Mit OK bestätigen.
  • Wenn die Web Application Windows Authentication nutzt, setzen Sie den superuser und den superreader Account via SharePoint Management Shell:
    $wa = Get-SPWebApplication "http://yourURL"
    $wa.Properties["portalsuperuseraccount"] = "domain\superuser"
    $wa.Properties["portalsuperreaderaccount"] = "domain\superreader"
    $wa.Update() 

    Nutzt die Web Application Claims Authentication dann tragen Sie die Benutzernamen so ein, wie diese in der Spalte User Name angezeigt werden. Das müsste etwa so aussehen:
    $wa = Get-SPWebApplication "http://yourURL"
    $wa.Properties["portalsuperuseraccount"] = "i:0#.w|domain\superuser"
    $wa.Properties["portalsuperreaderaccount"] = "i:0#.w|domain\superreader"
    $wa.Update()

    Alternativ können Sie diese beiden stsadm Befehle ausführen. Passen Sie die Benutzernamen gemäss obenstehender Beschreibung an, abhängig von den verwendeten Namen und der Authentifizierung:
    stsadm -o setproperty -propertyname portalsuperuseraccount -propertyvalue domain\superuser -url http://yourURL
    stsadm -o setproperty -propertyname portalsuperreaderaccount -propertyvalue domain\superreader -url http://yourURL

Weitere Informationen zu diesem Thema finden Sie hier:
Configure object cache user accounts
http://technet.microsoft.com/en-us/library/ff758656.aspx


SharePoint Search: The last query component of a partition failed

Im Event Viewer erscheint ein Error mit Event ID 60 und der Beschreibung:
The last query component (your-query-component-guid-here) of a partition failed. It will not be taken out of rotation but queries are likely to fail. Check previous event logs to determine cause. Reinitialization may be necessary.

Vermtulich werden Sie im Event Log auch diese Warnungen finden:
Event ID: 58
Task Category: Query Processor
Level: Error
Query component [your-query-component-guid-here] has been taken out of rotation due to this error: The device is not ready. 0x80070015. It will be retried in x seconds.

Event ID: 59
Task Category: Query Processor
Level: Warning
Retry of query component [your-query-component-guid-here] has failed with error: The device is not ready.   0x80070015. It will be retried again in x seconds.

Die Ursache für diese Meldungen wird vermutlich darin liegen, dass die Query Components nicht mehr antworten. Die naheliegensten Gründe hierfür könnten sein, dass der Search Query and Site Settings Service nicht mehr läuft oder dass ein Crawl Job nicht beendet werden kann.
Die Benutzer merken dies darduch, dass bei einem Suchvorgang anstelle der Suchergenisse die Meldung Error. Internal server error exception erscheint.

Vorgehen

  • Öffnen Sie Central Administration > Application Management > Service Applications > Manage Service Applications und klicken Sie auf die entsprechende Search Application.
    Auf der Search Administration Seite prüfen Sie unter Search Application Topology im Abschnitt Index Partition den Status jedes Query Component. Ist alles ok, dann haben diese den Status Online. Vermutlich wird hier jedoch eher Not responding stehen.
  • Öffnen Sie Central Administration > Application Management > Service Applications > Manage Service Applications und klicken Sie auf die entsprechende Search Application.
    Auf der Search Administration Seite klicken Sie im Menu auf der linken Seite unter Crawling auf Content Sources. Sie sehen alle Crawl Jobs, deren Status und wie lange diese bereits laufen. Sie können ebenfalls den Verlauf der einzelnen Crawl Jobs anschauen, diese Bearbeiten, Beenden, Pausieren oder Starten indem Sie mit der Maus über den Namen fahren und im Dropdown Menu die entsprechende Aktion auswählen.
    Sollten Sie hier einen oder mehrere long running Crawl Jobs finden, also solche die deutlich länger als durchschnittlich benötigen, dann beenden Sie diese einzeln oder bei Bedarf gleich alle mit einem Klick auf Stop all Crawls.
  • Führen Sie auf allen SharePoint Servern mit einem Query Component folgende Befehle in der Command Prompt (cmd.exe) oder SharePoint 2010 Management Shell aus:
    Stoppen des Search Servies: net stop osearch14
    Starten des Search Services: net start osearch14
    Auf welchen Servern die Query Components konfiguriert sind, finden Sie heraus, indem Sie Central Administration > Application Management > Service Applications > Manage Service Applications öffnen und Sie auf die entsprechende Search Application klicken.
    Auf der Search Administration Seite klicken Sie unter Search Application Topology auf Modify. Klicken Sie unter Index Partition auf die einzelnen Query Components und wählen Sie Edit Properties. Sie sehen im Feld Server wo dieser liegt.

Weitere Informationen rund um die Search Query and Site Settings Service und die Query Components finden Sie in den aufgelisteten Quellen.
Start, pause, resume, or stop a crawl (SharePoint Server 2010)
http://technet.microsoft.com/en-us/library/ee808864.aspx

Search Query and Site Settings Service is not running (SharePoint Server 2010)
http://technet.microsoft.com/en-us/library/ff468691.aspx

Search relegate query component - Event 58 (SharePoint Server 2010)
http://technet.microsoft.com/en-us/library/ee513126.aspx


SharePoint Logs mit Powershell oder ULS Viewer analysieren

Das Durchsuchen der ULS Logs nach Fehlern in SharePoint ist für die meisten eine mühsame Angelegenheit. Die Log Files sind riesig und unübersichtlich. Die wenigsten wissen, dass sich die Fehlersuche mit Hilfe von PowerShell oder dem Tool ULS Viewer viel einfacher gestalten lässt.

Die SharePoint 2010 Log Files werden standardmässig unter folgendem Pfad abgelegt:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS

PowerShell
Über Powershell gibt es verschiedenste Möglichkeiten, um SharePoint Log Files zu bearbeiten und zu analysieren.

Neues Log File erstellen
New-SPLogFile

Anzeigen aller Einträge
Get-SPLogEvent

Anzeigen aller Einträge mit einer bestimmten Correlation ID
Get-SPLogEvent | Where-Object {$_.Correlation -eq "32781653-e1ba-4343-b1a4-3a7529824765"}

Anzeigen von Einträgen mit dem entsprechenden Log Level
Get-SPLogEvent | Where-Object {$_.Level -eq "Information"}
(Information, Warning, Error, Verbose, Unexpected, Monitorable, Medium, High, Critical)

Anzeigen von Einträgen die eine bestimmte EventID aufweisen
Get-SPLogEvent | Where-Object {$_.EventID -eq "5586"}

Weitere Befehle zum Filtern von ULS Files mit PowerShell finden Sie hier:
View diagnostic logs (SharePoint Server 2010)
http://technet.microsoft.com/en-us/library/ff463595.aspx

ULS Viewer
Wer lieber eine grafische Oberfläche zur Log Analyse nutzt, ist mit dem ULS Viewer bestens bedient. Das Tool bietet diverse Möglichkeiten, um effizient die relevanten Daten herauszufiltern:

  • Hervorheben von wichtigen Einträgen
  • Lesezeichen für interessante Log Einträge setzen
  • Feststellen von Trends durch Anhängen mehrerer Logs
  • Verstecken von unwichtigen Informationen
  • Ansicht der Log Einträge sortieren nach Schweregrad
  • Regeln definieren, um bestimmte Events zu verfolgen
  • Anzeige der Daten in eine Tabelle anstelle von unübersichtlichen ULS Dateien
  • Überwachen von entfernten Clients, auf welchen die ULS Services laufen
  • Öffnen und vergleichen mehrerer Logs zur gleichen Zeit
  • Gleichzeitiges Öffnen von mehreren Logs verschiedener Clients

SharePoint Log Viewer herunterladen
http://sharepointlogviewer.codeplex.com
Das Tool muss nicht installiert werden. Sie können die heruntergeladene Datei direkt auf dem entsprechenden SharePoint System mittels Doppelklick ausführen.


SharePoint Management Shell: The local farm is not accessible

Beim Öffnen der SharePoint 2010 Management Shell erhalten Sie folgende Meldung:
The local farm is not accessible. Cmdlets with FeatureDependencyId are not registered.

Diese Meldung kann ignoriert werden falls Sie gerade erst eine neue SharePoint Farm erstellt haben oder den betroffenen Server kürzlich zu einer SharePoint Farm hinzugefügt haben.

Ist dies nicht der Fall, stellen Sie sicher, dass:

  • die SharePoint 2010 Management Shell mit administrativen Rechten (Run as administrator) ausgeführt wird.
  • der betroffene Benutzer über die benötigten SQL Rechte verfügt:
    Öffnen Sie auf das Microsoft SQL Server Management Studio, loggen Sie sich ein und navigieren Sie zu Server\Instance > Databases > SharePoint_Config_... > Security > Users und Doppelklicken Sie auf den Benutzer (z.B. domain\user), bei dem die Meldung in der SharePoint 2010 Management Shell erscheint. Es öffnet sich das Fenster Database user - domain\user in welchem Sie im Bereich Database role membership vor  SharePoint_Shell_Access ein Häckchen setzen und OK klicken.

Der Benutzer kann auch über PowerShell zur SharePoint_Shell_Access Rolle hinzugefügt werden:
Add-SPShellAdmin -UserName domain\user -database SharePoint_Config_...

Wenn Sie jetzt die SharePoint 2010 Management Shell nochmals mit administrativen Rechten neu öffnen, werden Sie diese Meldung nicht mehr erhalten.