Симптоми
В Microsoft SQL Server 2019 се опитвате да възстановите голяма база данни, като изпълните следната команда:
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
Тази команда връща следното съобщение за грешка:
Започна да се изпълнява заявка в Line LineNumber
Съобщение 42019, Ниво 16, щат 4, Line LineNumber
Неуспешна операция за възстановяване на управлявана база данни. Вътрешна грешка в услугата.
Msg 3013, Level 16, State 1, Line LineNumber
RESTORE DATABASE завършва необичайно.
Общо време за изпълнение: 00:01:51.093
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.
Решение
Този проблем е решен в следната кумулативна актуализация за SQL Server:
За кумулативните актуализации за SQL Server:
Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били включени в предишната кумулативна актуализация. Прегледайте последните кумулативни актуализации за SQL Server:
Заобиколно решение
За да заобиколите проблема, можете да използвате IP адреса от услугата Kubernetes, създадена по-долу, и да се свържете с екземпляра на SQL Server:
Излагане на порта 1533:
kubectl -n <namespaceName> expopose pod <podName> --port=1533 --name=<serviceName> --type=NodePort
След това можете ръчно да изпълните следните четири команди:
- възстановяване на база данни
- ALTER DATABASE <databaseName> SET RECOVERY FULL
- BACKUP DATABASE <databaseName> TO DISK='NUL'
- ALTER AVAILABILITY GROUP containedag ADD DATABASE <databaseName>
Справки
Научете повече относно терминологията, която Microsoft използва за описване на актуализациите на софтуера.