
With version 12 of Veeam Backup & Replication, it's possible to migrate to PostgreSQL and get away from the limitations of Microsoft SQL Server.
Real-world use case
You want to get away from Microsoft SQL Server's limitations: here's how to migrate to PostgreSQL with Veeam Backup & Replication v12.
Database migration
A new client uses Veeam Backup & Replication version 12, and their database engine is Microsoft SQL. They hadn't yet carried out the migration offered in the vendor's guide.
The technical limit on Microsoft SQL (Express) database size is 10GB, while the cost of a Microsoft SQL license is a significant, long-standing factor for the solution. With version 12, it's now possible to migrate to PostgreSQL to get away from these limitations. It's a robust, open-source engine that the vendor now favors.
During our migration to PostgreSQL, we ran into an issue that isn't covered in the documentation. The following error appears: "Unable to check for active orchestrated tasks. Access denied." Here's our feedback on the topic.
Prerequisites before migration
The guide recommends the following steps:
- Use an account with "administrator" permissions
- Disable all jobs on the Veeam Backup & Replication server
- Disable MFA before migrating to PostgreSQL
- Back up the Veeam Backup & Replication server configuration
Migrating to PostgreSQL
- Migrate from the Veeam console, under "Configuration Backup"
- Select the "Migrate" option
- Focus on step 6, "Specify Target Database" It's important not to add the server name (hostname) but rather localhost, because if you use the server's hostname for the PostgreSQL connection, Windows will connect using its own IP address. PostgreSQL doesn't allow this connection by default without modifying the pg_hba.conf file.
Troubleshooting
- Make sure the postgresql service is running on the server You can use Test-NetConnection:
PS C:\Users\Administrator> tnc VEEAMSERVER -port 5432
WARNING: TCP connect to (fe80::xxx:xxx:xxx:xxxxxx : 5432) failed
WARNING: TCP connect to (10.xxx.xxx.xxx : 5432) failed
ComputerName : VEEAMSERVER
RemoteAddress : fe80::xxx:xxx:xxx:xxxxxx
RemotePort : 5432
InterfaceAlias : Ethernet0
SourceAddress : fe80::xxx:xxx:xxx:xxxxxx
PingSucceeded : True
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded : False
- Check your local firewall rules if you run into issues
- If needed for investigation, you have access to the PostgreSQL logs in the default location: C:\Program Files\PostgreSQL\15\data\log
- The two important files that can be modified, usually with Veeam support if necessary, are:
- C:\Program Files\PostgreSQL\15\data\pg_ident.conf
- C:\Program Files\PostgreSQL\15\data\pg_hba.conf
- If, after the migration, the console displays the message "Failed to connect to Veeam Backup & Replication server: Access denied.", you'll need to use the postgres CLI or install pgAdmin. Then run the command from the KB article to disable MFA:sql
UPDATE public.Options set value = 'False' where name = 'GlobalMFA' - If the jobs don't work after re-enabling them, check the inventory, proxies, and repositories, scanning the repositories is important for updating the database.
- Don't forget to run the "security and compliance Analyzer" scheduler to check that the values in the postgresql.conf configuration file are compliant.
Conclusion
Once the steps above are completed, a backup test of the Veeam server and the backup jobs should be successful.


