我需要使用SQL服务器实例,但是我的工作区运行Linux,并且给我的数据库备份在Windows上运行.
我成功地在我的Linux环境中安装了SQL Server,而我正在使用DBeaver来访问它,我遇到的主要问题是当我尝试在我的SQL Server实例中恢复此.bkp文件时.
RESTORE DATABASE FILELISTONLY
FROM DISK = '/var/tmp/(redacted).bkp';
我得到SQL错误5133
SQL Error [5133][S0001]: Directory lookup for the file "D:\SQL2012\DATA\(redacted).mdf" failed with the operating system error 2(The system cannot find the file specified.).
是否可以恢复此文件?如果是这样,我做错了什么?
提前致谢.
解决方法:
取决于您正在使用的构建版本..如果您收到错误,那么可能是您需要向Microsoft报告的错误.
你仍然可以尝试无证 – sp_restore_filelistonly但它只是一个包装,正如布伦特在他的回答中所说:
EXEC sp_restore_filelistonly
@device_type = 'DISK',
@backup_path = '/var/tmp/(redacted).bkp';
如果上面不起作用,那么肯定打开一个与Microsoft的错误报告.
它适用于我 – 我已经测试过(Microsoft SQL Server 2017(RTM-CU4)(KB4056498) – 14.0.3022.28(X64)Feb 9 2018 19:39:09版权所有(C)2017 Microsoft Corporation Developer Edition(64位)在Linux(Ubuntu 16.04.3 LTS)上,对我来说它使用两者(恢复filelistonly和使用未记录的sp)
>从disk =’/ var / opt / mssql / bootup / dbname_(FULL)_20170108_020026.bak’恢复filelistonly
标签:sql-server,linux,backup
来源: https://codeday.me/bug/20190806/1597679.html