In support we field a lot of questions revolving around workflow history such as; where it is kept, how it grows over time, how to maintain it and what are some of the limits that you will run into. Today, I would like to show you where it is created, kept and how to plan for the future.
There are 2 places where the workflow history is kept and accessed.
1. SharePoint Workflow History – This is kept inside of the site collection in a hidden list typically
2. Nintex Workflow History– This is kept inside of the Nintex Workflow database.
Because there are two places the workflow history resides, this also means that there are two places you can view it.
SharePoint Workflow History
The SharePoint workflow history can be accessed a couple of different ways, but the most common is by clicking on the link inside of the workflow history column added to a list when a workflow is first run. (see below):
This information is pulled directly from the SharePoint workflow history list and isn’t referencing the Nintex database at all.
SharePoint Workflow History Example:
It’s also worth noting that there is at least one workflow history list that exists for each site collection and that multiple history lists can be configured, but more on that in a little bit!
Nintex Workflow History
The Nintex Workflow history is stored throughout several tables inside of the Nintex database. To access the Nintex workflow history, you can go to one of two places depending on the type of workflow.
- List Item by opening the list item menu and clicking on “View Workflow History”:
- Site Workflow by going to the Site menu (Site Actions in SharePoint 2010) > Nintex Workflow 20xx > View Workflow History :
Nintex Workflow History Example:
Clicking on the “Click here to show detailed view” will give you the detailed view like what is shown below:
Workflow History Limits:
There are several considerations with regards to workflow history,both what is being stored within SharePoint (history list) and what is in the Nintex database.
The workflow history list can be managed by going to the Site Menu > Site Settings > and find “Manage Workflow History Lists” under Nintex Workflow:
Here you can see how many items are contained within the history list:
The Nintex workflow history list is bound by the same rules that applied to other lists in the web application (list view threshold for example). It is
important to keep this in mind because as this list grows it will effect performance of workflows and viewing workflow history. It is recommended to keep this list below 10,000 items (5000 if you are using the default list view threshold) to keep things running smoothly.
As for the Nintex database, there are 2 main tables that you need to keep an eye on:
- dbo.workflowlog - Only in use when verbose logging is enabled inside of Central Admin > Nintex Workflow Management > General Settings
- dbo.workflowprogress - This table keeps a history of every action that is executed within a workflow.
These tables typically grow in a linear fashion, but can spike rather quickly depending on the workflow usage in your environment.
To validate how many records exist inside of the tables, you can pull the SQL Server disk usage report with the following steps:
- Open SQL Management Studio.
- Expand the Database node.
- Find the Nintex Workflow database(s).
- Right-click on the Nintex Workflowdatabase and select Reports> Standard Reports > Disk Usage by Top Table.
The report will look like:
In Part 2, I will be going over some best practices around maintenance and improving performance. Stay Tuned!
Part 2is here! Demystifying Workflow History (Part 2)