Enterprise Manager Database Migration Utility

The Enterprise Manager Database Migration utility allows you to backup the Enterprise Manager configuration database based on Microsoft SQL Server and restore it to PostgreSQL. This lets you change the engine of the Enterprise Manager configuration database and keep the existing Enterprise Manager configurations such as notification settings, Enterprise Manager accounts, self-service configurations and so on.

The Enterprise Manager Database Migration utility comes with Veeam Backup Enterprise Manager and is located on the Enterprise Manager server in the installation folder. The default path is the following: %PROGRAMFILES%\Veeam\Backup and Replication\Enterprise Manager\Veeam.EM.DB.Migration.exe.

After you restore the database, connect Veeam Backup Enterprise Manager to the restored database using the Configuration Database Connection Settings utility. For more information, see Veeam Configuration Database Connection Utility.

Before You Begin

Before you migrate the Enterprise Manager configuration database from Microsoft SQL Server to PostgreSQL, consider the following:

  • You can perform cross-version configuration database restore with the same database engine only. For example, if you have Enterprise Manager 12, and you want to upgrade it to version 12.1 and change the database engine from Microsoft SQL Server to PostgreSQL, upgrade the product first and then migrate the database.
  • Veeam Backup Enterprise Manager collects data from backup servers with configuration databases that run on the same database engine as the Enterprise Manager configuration database. This means that after you migrate the Enterprise Manager database, you must migrate Microsoft SQL Server configuration databases of already added backup servers and add them again to the Enterprise Manager infrastructure. For more information, see the Migrating Configuration Database to PostgreSQL Server section of the Veeam Backup & Replication User Guide.
  • To run the utility, use a command-line shell. The utility requires access to the registry so you must run the shell as administrator.

Syntax

With the Enterprise Manager Database Migration utility, you can perform the following operations:

  • Back up a Microsoft SQL Server database to an EMCO backup file:

Veeam.EM.DB.Migration.exe /file:value /backupemdatabase [/encryptionpassword:value] [/encryptionhint:value] [/verbose]

  • Restore a Microsoft SQL Server database from a backup file to PostgreSQL:

Veeam.EM.DB.Migration.exe /file:<value> /restoreemdatabase [/encryptionpassword:<value>] [/servername:<value>] [/serverport:<value>] [/initialcatalog:<value>] [/login:<value>] [/password:<value>] [/verbose]

  • Display the utility help:

Veeam.Backup.Configuration.Tool /?

Parameters

The table below describes parameters that you can use to backup and restore the Enterprise Manager configuration database.

Parameter

Description

/?

Displays help.

/file:<value>

Specifies file name and location of an EMCO backup file.

/encryptionpassword:<value>

Specifies a password for backup file encryption.

/encryptionhint:<value>

Specifies a hint for the encryption password.

/backupemdatabase

Backs up the Enterprise Manager configuration database based on Microsoft SQL Server to an EMCO backup file. Note the command cannot back up a PostgreSQL database.

/restoreemdatabase

Restores the Enterprise Manager configuration database from an EMCO backup file to PostgreSQL.

/servername:<value>

Specifies a name or IP address of the target host with PostgreSQL server. The default value is localhost.

/serverport:<value>

Specifies a port number of a PostgreSQL instance. The default value is 5432.

/initialcatalog:<value>

Specifies a name of a target PostgreSQL instance. The default value is VeeamBackupReporting.

If an instance with the specified name (or the default name) exists, the utility adds an increment postfix to the instance name, for example: VeeamBackupReporting_00, VeeamBackupReporting_01.

/login:<value>

Specifies an account name that the utility uses to authenticate against a PostgreSQL server. By default, the utility uses the account under which the Veeam Backup Enterprise Manager Service is running.

/password:<value>

Specifies a password that the utility uses to authenticate against a PostgreSQL server. By default, the utility uses the account under which the Veeam Backup Enterprise Manager Service is running.

/verbose

Enables verbose logging mode. Logs are stored in the following directory: %PROGRAMDATA%\Veeam\Backup\Utils\Util.EmTransfer.

Examples

Example 1

This example shows how to back up the Enterprise Manager configuration database to an EMCO backup file.

Veeam.EM.DB.Migration.exe /file:"C:\EM Configuration\02.emco" /backupemdatabase /encryptionpassword:Password01 /encryptionhint:thatpass

where:

  • /file:"C:\EM Configuration\02.emco" — file name and location of the backup file. If you specify a folder that does not exist, the utility will create it. If a file with the specified name already exists, it will be rewritten.
  • /backupemdatabase — utility backup mode.
  • /encryptionpassword:Password01 — encryption password for the backup file.
  • /encryptionhint:thatpass — password hint.

Microsoft SQL Server connection settings are not required in the command, the utility gets them from the registry.

Example 2

This example shows how to restore the Enterprise Manager configuration database from an EMCO backup file to PostgreSQL.

Veeam.EM.DB.Migration.exe /file:"C:\EM Configuration\02.emco" /restoreemdatabase /encryptionpassword:Password01 /servername:enterprise05 /initialcatalog:VeeamBackupReporting_01 /serverport:5434 /login:postgres /password:Password02

where:

  • /file:"C:\EM Configuration\02.emco" — file name and location of the backup file.
  • /restoreemdatabase — utility restore mode.
  • /encryptionpassword:Password01 — encryption password for the backup file.
  • /servername:enterprise05 — name of the target PostgreSQL server.
  • /initialcatalog:VeeamBackupReporting_01 — target PostgreSQL instance.
  • /serverport:5434 — port number of the target PostgreSQL instance.
  • /login:postgres — account name used to authenticate against the PostgreSQL server.
  • /password:Password02 — password used to authenticate against the PostgreSQL server.