Während der Migration von Nintex Workflow 2007 auf 2010 kam mir heute eine Nintex Inhaltsdatenbank mit einem Volumen von 30 GB unter. Dafür, dass auf dem System nur 5 Workflows genutzt werden und das System seit 2008 in Betrieb ist fand war das Volumen doch eher überraschend.

Wo kommen die Daten her?
Nintex speichert pro Action den Workflow Status in der Nintex Inhaltsdatenbank, um den aktuellen Zustand des Workflows im Workflowstatus anzeigen zu können. Standardmäßig logt jede Action ihren Zustand für den Workflowstatus. Man kann dieses Verhalten über die “Allgemeinen Einstellungen” der Action mit dem Feld “Nicht im Workflowstatus anzeigen” steuern und dies sollte man für alle Actions abschalten, die nicht der Übersicht dienen.

Wozu dienen die Daten?
Nintex verwendet die Datem um den Status der Workflow Instanzen anzuzeigen. Wenn sie diese nun löschen hat dies folgende Auswirkungen auf die Workflow Instanzen

  • Sie werden nicht mehr unter “Workflow Verlauf anzeigen” gelistet
  • Der graphische Status in der detaillierten Ansicht kann nicht mehr angezeigt werden.
  • Sie werden nicht mehr in Statistiken und Reports berücksichtigt
  • Sie erscheinen nicht mehr in Webparts
  • Sie können den NWAdmin Befehl PurgeHistoryListData nicht mehr für die Instanzen verwenden
    • Diesen sollten sie bei Bedarf vor dem Löschen der Statusdaten durchführen

In SharePoint Ansichten wird der Workflow weiterhin angezeigt.

Wie werde ich die Daten wieder los?
Aktuell werden die Informationen zum Workflowstatus nicht automatisch gelöscht. D.h. die Datenbank wächst ohne Begrenzung bis das Plattensystem voll ist. Zum Löschen der Workflowstatus Daten bietet Nintex mit dem Tool NWAdmin.exe –o PurgeWorkflowData(%programfiles%\Nintex\Nintex Workflow 2007/2010) die Möglichkeit den Workflowstatus zu löschen. Dabei kennt der Befehl vielfältige Möglichkeiten zur Filterung, so dass sich z.b. alle Workflow Daten mit dem Status Completed vor dem 23 Feburar 2011 löschen lassen. Alle Filteroptionen finden sie im NWAadmin.exe Operations Guide.

NWADmin.exe –o PurgeWorkflowData –LastActivityBeforeLocal 2011-02-23 –state Completed

Vor dem Ausführen des Befehls müssen sie den freien Speicherplatz auf ihrer Transaktionspartition des SQL Servers überprüfen. Da durch das Ausführen des Befehls ca. das doppelte Volumen der Quelldatenbank an Transaktionen ausgeführt werden. Der Commit Befehl für den SQL Server wird erst nach Abschluss des Vorgangs gesendet. D.h. wenn ihre Nintex Inhaltsdatenbank wie in meinem Fall 30 GB groß ist brauchen sie auf ihrer Transaktionspartition 60 GB Speicherplatz + 10% Reserve. Weiterhin sollten sie den Befehl unbedingt Außerhalb der Produktionszeiten ausführen, da dieser Vorgang extrem viel Last erzeugt. Anschließend sollten sie die Transaktionsprotokolldateien wieder auf ihr übliches Niveau verkleinern und abschließend die Datenbankdatei der Nintex Inhaltsdatenbank ebenfalls verkleinern.

Erstellen sie vor dem Löschen der Workflowstatus Daten unbedingt eine Datensicherung. Eine detaillierte Erklärung zu dem NWAdmin.exe Befehl finden sie im Nintex Connect – NWAdmin.exe operations.

Leave a comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload the CAPTCHA.