Получение ошибки ниже при восстановлении базы данных AdventureWorks2017 в док-контейнере.Запуск SQL Server 2019 CTP 2.0 (mcr.microsoft.com/mssql/server:vNext-CTP2.0-ubuntu) Сохраняются как резервные, так и целевые тома данных.Нет проблем при создании новой базы данных.Проверены пути и они верны.Не возникает проблем при восстановлении с использованием последнего образа докера 2017 года.
У кого-нибудь еще есть проблемы с 2019-CTP2, обходные пути?
Сообщения 3634, Уровень 16, Состояние 1,Строка 7 Операционная система возвратила ошибку «2 (система не может найти указанный файл.)» При попытке «RestoreContainer :: ValidateTargetForCreation» для «/var/opt/mssql/data/AdventureWorks2017.mdf».Сообщение 3156, уровень 16, состояние 5, строка 7 Файл «AdventureWorks2017» не может быть восстановлен в «/var/opt/mssql/data/AdventureWorks2017.mdf».Используйте WITH MOVE, чтобы определить правильное местоположение файла.Сообщение 3634, уровень 16, состояние 1, строка 7 Операционная система вернула ошибку «2 (система не может найти указанный файл.)» При попытке «RestoreContainer :: ValidateTargetForCreation» для «/ var / opt / mssql / log / AdventureWorks2017_log».ldf.Сообщение 3156, уровень 16, состояние 5, строка 7 Файл «AdventureWorks2017_log» не может быть восстановлен в «/var/opt/mssql/log/AdventureWorks2017_log.ldf».Используйте WITH MOVE, чтобы определить правильное местоположение файла.Msg 3119, уровень 16, состояние 1, строка 7 Были выявлены проблемы при планировании оператора RESTORE.Предыдущие сообщения содержат подробности.Сообщение 3013, уровень 16, состояние 1, строка 7 RESTORE DATABASE ненормально завершается.
для создания контейнера.
$datapath = "D:\Foo";
$logpath = "D:\Foo";
$backuppath = "D:\Foo";
$pass = ":-)"
$ct = (docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=$pass" `
-e "MSSQL_PID=Developer" -p 2017:1433 `
-e "MSSQL_TCP_PORT=1433" `
-v ${datapath}:/var/opt/mssql/data `
-v ${logpath}:/var/opt/mssql/log `
-v ${backuppath}:/var/opt/mssql/backup `
-e "MSSQL_BACKUP_DIR=/var/opt/mssql/backup" `
-e "MSSQL_DATA_DIR=/var/opt/mssql/data" `
-e "MSSQL_LOG_DIR=/var/opt/mssql/log" `
-d mcr.microsoft.com/mssql/server:vNext-CTP2.0-ubuntu)
Команда восстановления.
RESTORE DATABASE [AdventureWorks2017] FROM DISK = N'/var/opt/mssql/backup/AdventureWorks2017.bak'
WITH FILE = 1,
MOVE N'AdventureWorks2017' TO N'/var/opt/mssql/data/AdventureWorks2017.mdf',
MOVE N'AdventureWorks2017_log' TO N'/var/opt/mssql/log/AdventureWorks2017_log.ldf',
NOUNLOAD, STATS = 1