I have been trying to migrate an existing Umbraco project to Umbraco Cloud for the past four days and I am hitting a wall with the database restore step. I am hoping someone here has encountered this before.
Environment
Umbraco Cloud Trial project (also reproduced on a paid Starter project)
Using Umbraco CMS 17.3.5
Database export: .bacpac file, approximately 200 KB, exported from a SQLExpress 2022 using MSSMS
What I am doing
Following the official migration guide. I export a .bacpac from SQL Server Management Studio, upload it via the Cloud Portal, and trigger a restore — both with and without taking a backup beforehand.
What happens
The restore consistently fails with the following error:
Kubernetes job for database restore fails
The result is the same every time regardless of whether I request a backup before restoring.
What I have tried
Repeated the export and upload multiple times over days
Tried both with and without pre-restore backup
Same result every time on both the Trial and the paid Starter environment
Support status
I have contacted Umbraco support via chat but have not received an useful response after a full business day.
Has anyone seen this error before, or does anyone have suggestions on what might be causing the Kubernetes restore job to fail? Given the small size of the .bacpac file I do not believe it is a size or complexity issue, but I am open to any ideas.
200KB is suspiciously small for an Umbraco database, are you sure the .bacpac file was created successfully in the first place with all the tables and data? Can you also confirm if is definitely a .bacpac file and not a file in a different format?
Are you able to try restoring it locally using SSMS to see if it works?
I’ve used the import/export .bacpac functionality before on Umbraco Cloud and never had issues (although not recently).
I don’t know if you can restore a .bacpac directly on Umbraco Cloud by connecting via SSMS, that may be an option but it may not let you as it may want to restore to a fresh database and your user may not have permission to do that.
Hi @slovon ,
I was looking for similar issues online and also checked with AI regarding similar issues, got the following, Please try it out, hope it might help.
First test the .bacpac against Azure SQL locally
Since Umbraco Cloud uses Azure SQL, one useful test is to try importing the same bacpac into a normal Azure SQL database manually.
This helps confirm whether the issue is specifically with the bacpac itself or with Umbraco Cloud.
You can do this directly from SSMS:
Right click Databases
Select “Import Data-tier Application”
Choose the .bacpac
For the target, use an Azure SQL database instead of local SQL Server
If the import fails there too, the error message is usually much more detailed and will often point to the exact table/object causing the issue.
Check for custom database users
In SSMS:
Expand your database
Go to Security → Users
If you see manually created users/logins besides the normal Umbraco ones, try removing them from a copy of the database and export a new bacpac.
Azure SQL can fail restoring databases that contain unsupported/local SQL users.
Check if the database contains Hangfire or custom job tables
I found a similar Umbraco thread where Hangfire tables caused foreign key conflicts during restore.
If you are using Hangfire or any custom background job system, try temporarily removing those tables from a test copy and export the bacpac again.
Try exporting with SqlPackage instead of SSMS
Sometimes SSMS creates bacpacs that Azure SQL has trouble importing.
Try generating the bacpac using SqlPackage instead:
If possible, get the detailed restore logs from support
The Cloud portal only shows the generic Kubernetes failure message, but the actual restore logs usually contain the exact table/object/query that failed.
Thank you all for pointing me in the right direction!
For anyone hitting the same issue, here’s what worked for me.
My local Umbraco database had a SQL login mapped to the database user that I created for Umbraco to work with. When trying to restore a .bacpac on Umbraco Cloud, the restore fails with a “Kubernetes restore job failed” error — the root cause being that Azure SQL can’t handle the login/user contained in the .bacpac.
The solution: Before exporting the .bacpac, the database user and its server login need to be dropped, haven’t found other way to exclude. I automated this with a PowerShell script that captures user info, drops the user and login, exports the .bacpac using sqlpackage, then recreates the login and user with the original password hash.
Also interesting: It’s seems to be normal for a .bacpac to be much smaller than a .bak file — in my case ~280KB vs ~30MB. A .bacpac contains only schema and data in compressed form, while a .bak includes transaction logs, pre-allocated empty pages and internal SQL Server structures.