我在Mac上的Docker镜像中使用SQL Server 2017 Linux。我想将数据从SQL Server for Windows上的数据库传输到Mac上的SQL。我在Windows中创建了.bak备份文件并存储在我的Mac下载文件夹中。
我在Mac上使用SQL Operations Studio连接到我的SQL-Linux数据库。当我尝试从文件恢复时,我得到了我的Mac上不存在的目录,但找不到我的文件。如何访问我的下载文件以恢复此备份?
答案 0 :(得分:1)
核心问题是任何SQL Server备份/恢复只能对SQL Server实例有权访问的文件夹进行。 SQL Operations Studio和SSMS都将在SQL Server实例可见的文件夹/文件上显示远程文件浏览器,而不是本地计算机的文件夹。
对于Docker,文件位置与标准Windows / Linux安装不同,因为默认情况下文件系统"内部" docker容器独立于主机(mac)机器上的文件系统。
推荐解决方案: - 遵循此docker config doc到"将主机目录挂载为数据卷" - 这将允许您将Mac上的目录映射到docker实例。然后,您可以将bak文件复制到该目录,并且SQL Server可以在Docker上访问它们。 SSMS和SQL Operations Studio中的对话框现在将看到任何文件被删除到该位置。 - 如果您愿意,仅在命令行工作流程上遵循doc on restoring bak files to SQL Server on Docker您的指导。