We're Hiring!
Take the next step in your career and work on diverse technology projects with cross-functional teams.
LEARN MORE
Mountain West Farm Bureau Insurance
office workers empowered by business technology solutions
BLOG
11
14
2018

Should You Enable Autogrowth on SCOM Operations Database?

Last updated:
9.16.2020
No items found.

Sameer Mhaisekar is a Sr. Technical Consultant at Green House Data and the founder of Experts Live India. Follow him on LinkedIn or Twitter and check out his blog AnalyticOps Insights.

You should put a fair amount of thought into designing your SCOM infrastructure. You need to make sure not only that the design works efficiently for the existing requirements you have, but also that you will be able to accommodate the future growth and expand your current Management Group without compromising its efficiency or performance.

There is an excellent Microsoft sizing tool that suggests the exact infrastructure and size you may want to go with while designing your MG. 

Now, about the Operations DB in particular — Operations DB is designed to store only the most recent data, and that is why it is not supposed to be as big as DW DB. Also, the general recommendation from Microsoft is that there needs to be at least 40% free space at all times and an advised 50% when doing a major version upgrade. SCOM throws an alert when it drops down 40%. You have to keep this in mind at the time of designing the Operations DB size.

SCOM includes the option to autogrow your Operations database. You can enable this to allow the DB to grow in size along with your overall SCOM environment. In my opinion, you should not do so, however, unless you are absolutely forced to.
 

Why not allow the Operations DB to auto-grow?

If the Operations DB keeps on auto-growing, you will not know. Why do you need to know about growth? As I mentioned earlier, the database is not supposed to grow drastically. If more and more data piles up in the Operations DB without timely grooming of the old data, you have a problem. An overloaded database might seriously affect the performance of your Operations DB and in turn your whole SCOM infrastructure.

When the database auto-grows, it suspends the transactions temporarily. Meaning activities happening in your SCOM-monitored environment during this period are kept on hold for insertion into the Operations DB. This might result in delayed alerting and/or data loss. The growth increment might be so large that it gives a time-out on the job SCOM was running.

If you set up auto-grow with a smaller value in percentage or megabytes, chances are the database will stop and grow very frequently and might cause disk fragmentation. Again, you risk losing your data or timing out the currently running job (which is causing the auto-grow).
 

what do you do if the Operations DB starts alerting on low disk space?

First you see if you can groom some old data out. Keep the retention period less than seven days if you don't need to hold onto data for longer for a specific purpose. In fact, this is one of the first things I do whenever I take over a larger environment. You may need to wait a couple days for new settings to take effect as SCOM goes through its retention cycle. If you need to groom it immediately, you can force the grooming as well.

Even if the grooming doesn't work, and you must increase the size of your Operations DB, do it manually. Keep in mind the requirement to keep 40% of the DB free space and try to forecast your future workload.

Usually we set the initial size of the Operations DB after the SCOM installation is finished, by using SQL management studio and setting the file sizes and sometimes SQL DB file striping manually. The DW database we set to a value large enough to start with, then setting the auto-grow increments to a number of MB which is not too small and not too large (and not using a percentage increase).

The autogrowth setting is enabled on DW and ACS DB but disabled by default on Operations DB by Microsoft and there's a reason why.

From Microsoft official documentation:

"Only rely on autogrow as a contingency for unexpected growth. Autogrow introduces a performance penalty that should be considered when dealing with a highly transactional database."

So, in short, remember:

Initial Size of Operations DB = Final Size of Operations DB

At least for the most part. If you must increase it, allocate more space to it manually.

Recent Blog Posts

lunavi logo alternate white and yellow
11.19.2024
11
.
8
.
2024
Load & Performance Testing with Azure Load Testing Service

Learn about load and performance testing in Microsoft Azure.

Learn more
lunavi logo alternate white and yellow
10.8.2024
09
.
25
.
2024
Maximizing Business Efficiency with Azure DevOps

For enterprises looking to adopt or mature their DevOps practices, Azure DevOps offers unmatched flexibility, scalability, and depth.

Learn more
lunavi logo alternate white and yellow
10.8.2024
09
.
09
.
2024
Exploring Microsoft Fabric: A Comprehensive Overview

Discover how Microsoft Fabric transforms data management and analytics with powerful tools for real-time insights and seamless collaboration, driving smarter, faster business decisions.

Learn more