Network Management
Error in Configuration Wizard “dbm_EnsureMEObjects: dbm_CreateMEObjects: dbm_CreateMETypeTable: The C compiler encountered a failure. The exit code was 2”
This article explains how to remediate a SolarWinds Platform upgrade failure where the Configuration Wizard cannot modify the database schema because SQL Server fails while creating memory-optimized managed entity objects
First published date
Last published date
Overview
During an upgrade, the Configuration Wizard fails with an error:
ERROR - Failure during modifying schema. System.Data.SqlClient.SqlException (0x80131904): dbm_EnsureMEObjects: dbm_CreateMEObjects: dbm_CreateMETypeTable: The C compiler encountered a failure. The exit code was 2.
This is primarily an environmental SQL Server issue (maintenance state, antivirus interference, capacity, etc.), rather than a defect in SolarWinds code.
Product section
Cause
SolarWinds Observability Self‑Hosted disables memory‑optimized tables for all Azure SQL Database and Azure SQL Managed Instance deployments, as memory-optimize setting support varies across Azure compute and service tiers.
During fresh Azure installations, this setting is disabled automatically. However, during migrations from on‑premises SQL Server to Azure, the memory‑optimized table setting may remain enabled in Azure, which can cause the Configuration Wizard to fail if the Azure environment does not support this feature.
The Configuration Wizard attempts to create or update memory‑optimized managed entity objects, but SQL Server fails during the internal compilation of In‑Memory OLTP objects.
In most cases, this is an environmental Azure SQL Server condition, not a SolarWinds product issue.
The most common causes of this issue include:
-
SQL Server running in a stale or unhealthy state (for example, extended uptime or blocked background processes)
-
An outdated SQL Server cumulative update (CU)
-
Interference from antivirus or antimalware software
-
Insufficient disk space preventing tempdb growth
-
A full transaction log
-
Custom database triggers or Extended Events that are incompatible with memory‑optimized operations
Resolution
Memory‑optimized technology plays a critical role in product performance and scalability. Disabling memory‑optimized behavior is not recommended for on‑premises SQL Server deployments.
Disabling this feature in on-prem deployments should be considered only as a temporary workaround, and underlying SQL Server environmental issues should be identified and resolved first.
If this issue occurs after migrating to Azure SQL Database, first verify that memory‑optimized table settings were disabled during the database migration, as documented here:
https://documentation.solarwinds.com/en/success_center/orionplatform/content/migrate_the_solarwinds_orion_sql_database_to_azure-sql.htm
If the database migration was performed according to the documented guidelines, proceed with the steps below in the specified order. After completing each step, rerun the Configuration Wizard to validate the environment.
If the Configuration Wizard completes successfully at any point, stop and proceed with completing the upgrade. Do not continue with the remaining steps.
Step 1. Restart SQL Server service (or SQL host) - this helps in most cases
-
Schedule maintenance window.
-
Restart the SQL Server service.
-
If required, reboot the SQL Server host.
Why first: this clears common blocking/hung conditions quickly.
Step 2. Update SQL Server to the latest Cumulative Updates
-
Verify current SQL Server build.
-
Install the latest Cumulative Updates for that SQL major version.
-
Reboot if required by the patching process.
Step 3. Add antivirus exclusions
Configure Antivirus and Endpoint Detection Response exclusions for:
-
*.mdf, *.ndf, *.ldf
-
*.bak, *.trn
-
SQL Server install directory (for example, C:\Program Files\Microsoft SQL Server\)
Step 4. Validate capacity and growth settings
-
Ensure sufficient free space for tempdb growth.
-
Set tempdb/data/log autogrowth to fixed-size increments (not percentage).
Step 5. Check transaction log status
-
SIMPLE recovery: shrink log after large one-time operations.
-
FULL recovery: run regular log backups and validate chain health.
If transaction log shrink is blocked due to memory-optimized objects, review:
Validate SQL Server In-Memory OLTP capacity/limits are not exhausted.
-
If In-Memory OLTP limits may be reached, review:
Step 6. Temporarily disable incompatible custom SQL objects
-
Disable custom database-level triggers or extended events that can interfere with memory-optimized DDL.
-
Re-enable after successful completion and compatibility verification.
Step 7. If the database was migrated to Azure SQL or Amazon RDS, validate migration requirements
-
Confirm target platform configuration matches SolarWinds migration guidance and supports required operations.
Review and remediate based on:
Step 8. Re-run Configuration Wizard
Complete the wizard to finish configuration/upgrade.
Success criteria:
-
The configuration wizard completes without schema modification errors.
-
No repeat of the “C compiler encountered a failure” message.
-
Upgrade completes, and platform services start normally.
If the Configuration Wizard still fails - Follow Microsoft guidance for SQL exception 4380244 (“The C compiler encountered a failure”).