What is the persistent_version_store table?

by JohnLBevan   Last Updated August 25, 2018 10:06 AM

What is the purpose of the MS Shipped table: sys.persistent_version_store?

Why do I want to know

Primarily curiosity, partly because it may relate to an issue waiting to bite us...

We're running a SaaS instance of MS Dynamics 365 for Finance and Operations. This has very limited tools for monitoring performance. Whilst trying to find something of meaning I discovered that this table had an insanely high row count (~75,000,000). That seems worrying. It's possible that this is OK, but MS have included it on their analysis tools, meaning that this eclipses all other information on the graph (since it has a linear scale) making the graph pointless. I want to understand what this table is so I can determine if it's something to be investigated, or if it's just bad design to have included it on the monitoring tools.

Why not read the documentation

Since it's an MS table it should be documented somewhere. However, searching persistent_version_store gives 1 result, and it's in Chinese. Searching for Persistence Version Store does better; but it's unclear whether this is the same thing / there's not much documentation on what it is; only how to fix issues where it's reached its maximum size.

Related Questions

What does OPTION FAST in SELECT statement do?

Updated November 29, 2016 08:02 AM

Should I ever use query hints?

Updated March 20, 2017 13:06 PM

Configuring Dynamics GP's SQL Disks

Updated April 10, 2017 16:06 PM

Rebuild Index vs Drop and create indexes in Dynamics GP

Updated September 19, 2018 21:06 PM