Umbraco Cloud database restore fails with "Kubernetes job for database restore fails" — tried on Trial and Starter

Hi everyone,

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.

Thank you in advance for any help.

Hi @slovon

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.

Justin

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.

  1. 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.

  2. 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.

  3. 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.

  4. Try exporting with SqlPackage instead of SSMS

    Sometimes SSMS creates bacpacs that Azure SQL has trouble importing.

    Try generating the bacpac using SqlPackage instead:

SqlPackage /Action:Export /SourceServerName:"SERVERNAME" /SourceDatabaseName:"DATABASENAME" /TargetFile:"C:\temp\site.bacpac"
  1. 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.

Some useful references:

Hopefully one of these helps narrow it down.

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.

Hope this saves someone a few hours!

BR,

Gregor, an Umbraco newbie

3 Likes

Thanks @slovon ! Glad you found a solution.

I’m sure the last time I had a user in my database and tried to create a .bacpac file I got an error, so not sure how you managed to get beyond that?

The error message on cloud is not very helpful, perhaps that is something that Umbraco can improve as there may be a hidden underlying error message…

Justin