KB4581882 - FIX: Restoring database fails due to backup command time-out in SQL Server 2019

Applies to: SQL Server 2019 on Linux

Symptoms


In Microsoft SQL Server 2019, you try to restore a large database by running the following command:
 
USE [master]
RESTORE DATABASE [DatabaseName]
FROM  DISK = N'/var/opt/mssql/data/FileName'
WITH  FILE = 1, MOVE N'Archive_HR' TO N'/var/opt/mssql/data/FileName', MOVE N'DatabaseName' TO N'/var/opt/mssql/data/FileName', NOUNLOAD,  STATS = 5
 
This command returns the following error message:
 
Started executing query at Line LineNumber
Msg 42019, Level 16, State 4, Line LineNumber
RESTORE MANAGED DATABASE operation failed. Internal service error.
Msg 3013, Level 16, State 1, Line LineNumber
RESTORE DATABASE is terminating abnormally.
Total execution time: 00:01:51.093

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. 

Resolution


This issue is fixed in the following cumulative update for SQL Server:
About cumulative updates for SQL Server:
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

Workaround


To work around the issue, you can use the IP from the Kubernetes service created below and connect to the SQL Server instance:

expose the 1533 port:
kubectl -n <namespaceName> expose pod <podName> --port=1533  --name=<serviceName> --type=NodePort

And then you can manually run the following four statements:

  1. restore database
  2. ALTER DATABASE <databaseName> SET RECOVERY FULL
  3. BACKUP DATABASE <databaseName> TO DISK='NUL'
  4. ALTER AVAILABILITY GROUP containedag ADD DATABASE <databaseName>

References


Learn about the terminology that Microsoft uses to describe software updates.