I recently came across an unexpected issue when performing a migration and upgrade from EV 11.0.1 to a newly built EV 12.2 server on Windows 2012 R2 using the Enterprise Vault 12.3 Server Settings Migration Wizard.
Now, I’m not going to talk about the step-by-step process to migrate and upgrade Enterprise Vault using the Server Settings Migration Wizard as this is fully documented by Veritas here.
The issue I encountered was during the import process when the wizard was performing schema version validation checks against the Enterprise Vault databases. In my scenario the wizard was failing on the validation of the EnterpriseVaultAudit database. Just a tad annoying as the wizard will not allow you to continue the import process until you fix the issue.
So, what is the problem? The wizard has these checks in place to mitigate the risk of an unsuccessful or unsupported upgrade from occurring. Well in my case I needed to somehow by-pass this check as the EnterpriseVaultAudit database schema version was at version 3 which is the correct level for EV 11.0.1 CH5.
IMPORTANT: I cannot stress this enough. Do not attempt to perform the “hackery” outlined in this blog unless you:
- Have the blessing from Veritas Technical Support or Engineering
- You have verified that all the EV databases are at the right schema level for the version of EV you are upgrading from
So, how to verify the schema level of your Enterprise Vault databases? Easy, run the following SQL Queries:
For the EV Directory database schema version run the following:
USE EnterpriseVaultDirectory
SELECT SchemaVersion
FROM DirectoryEntry
For the EV VaultStore database schema version run the following:
USE EnterpriseVaultDirectory
SELECT SchemaVersion
FROM VaultStoreEntry
For the EV Fingerprint database schema version run the following:
USE EnterpriseVaultDirectory
SELECT SchemaVersion
FROM FingerPrintCatalogueDatabase
For the EV FSAReportingDatabase schema version run the following:
USE EnterpriseVaultDirectory
SELECT SchemaVersion
FROM FSAReportingDatabase
For the EV Monitoring database schema version run the following:
USE EnterpriseVaultDirectory
SELECT SchemaVersion
FROM MonitoringSettings
For the EV Audit database schema version run the following:
USE EnterpriseVaultAudit
SELECT SchemaVersion
FROM Audit
Once you’ve obtained the schema version for all the EV databases, cross-reference your results using the tables found in the following Veritas Technote article.
So now, let the hackery begin…
Contained within the installation folder of the Enterprise Vault Server Settings Migration Wizard is an XML file named ServerMigration.exe.config. In this file you will see a bunch of keys you can use to override certain checks performed by the wizard during the import process. For example:
To override all the EV database schema checks, you would add the following key in the <appSettings>section of the ServerMigration.exe.config XML file:
<add key=”OverrideDatabaseSchemaChecks” value=”true”/>
If you needed to override the EV version check, you would add:
<add key=”OverrideEVVersionCheck” value=”true”/>
Lastly, to override the Operating System version check, you would add:
<add key=”OverrideOperatingSystemCheck” value=”true”/>
Now, I imagine you would need to be in a fairly desperate situation if you needed to by-pass all EV database schema checks, the EV version check or OS version check. I definitely wouldn’t do it unless I had no other choice and had the full blessing of Veritas Technical Support as misuse of these keys could potentially place your EV environment in an unstable and unsupported state.
The less riskier approach is to override an individual EV database schema check which is what I needed to do during my upgrade. The key I needed to add was:
<add key=”AcceptedAuditSchemaVersions” value=”3″/>
Now for the moment of truth. Go ahead and restart the Enterprise Vault Server Settings Migration Wizard in import mode and follow the bouncing ball. There you go. You’re back on track with your EV migration and upgrade. Happy days.
