Veeam ONE Database Partitioning (for version 10 or later)

KB ID: 4175
Product: Veeam ONE | 10 | 11
Published: 2021-05-27
Last Modified: 2021-05-28
Get weekly article updates
By subscribing, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Notice.

Cheers for trusting us with the spot in your mailbox!

Now you’re less likely to miss what’s been brewing in our knowledge base with this weekly digest

error icon

Oops! Something went wrong.

Please try again later.

Challenge

Improving Veeam ONE performance in large-scale infrastructures.

Cause

Starting from version 10, all newly deployed Veeam ONE databases are already configured with partitioning.
However, Veeam ONE instances that are upgraded from the older versions (8.x, 9.x) do not have database partitioning automatically applied. For such databases, you can apply the partitioning manually.

Solution

Partitioning for version 10 and newer is based on splitting the monitor.PerfSampleMed, monitor.PerfSampleDay, monitor.PerfSampleLow tables into numbered items joined into views.
When the partitioning is applied, the "monitor.PerfSampleMed" table is replaced with a database view "monitor.PerfSampleMed" which contains a set of the numbered tables:
 

 monitor.PerfSampleMed0
 monitor.PerfSampleMed1
 monitor.PerfSampleMed2
 ...
 monitor.PerfSampleMed7
 monitor.PerfSampleMed8

Tables "monitor.PerfSampleDay" and "monitor.PerfSampleLow" are split equally, but with a different number of items.

To apply the database partitioning to Veeam ONE version 10 (or newer), do the following:

  1. Stop Veeam ONE services and create a backup of the Veeam ONE database. For details, see https://www.veeam.com/kb2356.
  2. Download the SQL script (DOWNLOAD).
  3. Execute the script against the Veeam ONE database to deploy the necessary procedures to the database.
  4. Activate the partitioning process by executing the following SQL commands:
EXEC monitor.sp_convert_perf_table 'PerfSampleMed', 604800, 86400
DECLARE @RetentionPolicyPeriod_Sec bigint = (select top 1 coalesce(RetentionPolicyPeriod,12) from common.ServerSettings)*2629746
EXEC monitor.sp_convert_perf_table 'PerfSampleDay', @RetentionPolicyPeriod_Sec, 2678400
EXEC monitor.sp_convert_perf_table 'PerfSampleLow', @RetentionPolicyPeriod_Sec, 2678400

The process will take some time depending on the database size. You can see the progress of applying the partitioning in the SQL Studio "Messages" panel.

When the process is complete, all three tables will be partitioned and ready to use.

More Information

If you have any questions, contact Veeam Support.
To submit feedback regarding this article, please click this link: Send Article Feedback
To report a typo on this page, highlight the typo with your mouse and press CTRL + Enter.

Spelling error in text

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Thank you!

Thank you!

Your feedback has been received and will be reviewed.

Oops! Something went wrong.

Please try again later.

KB Feedback/Suggestion

This form is only for KB Feedback/Suggestions, if you need help with the software open a support case

By submitting, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Notice.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Verify your email to continue your product download
We've sent a verification code to:
  • Incorrect verification code. Please try again.
An email with a verification code was just sent to
Didn't receive the code? Click to resend in sec
Didn't receive the code? Click to resend
Thank you!

Thank you!

Your feedback has been received and will be reviewed.

error icon

Oops! Something went wrong.

Please try again later.