Sql server 将数据库备份从容器复制到本地目录-MSSQLS2019和Docker
我有一个数据库,它在Sql server 将数据库备份从容器复制到本地目录-MSSQLS2019和Docker,sql-server,docker,ssms,Sql Server,Docker,Ssms,我有一个数据库,它在sqldocker容器中本地运行,我想备份它,并能够在创建自定义sqldocker映像时作为COPY命令的一部分使用,然后最终将其作为RESTORE database命令的一部分使用sqlcmd 但是,当我在SSMS中右键单击数据库并转到backup时,我似乎只能在容器内备份,而不能在C:驱动器上本地备份 是否有一种方法可以将.bak文件检索到本地驱动器?容器的设计非常明确,因此它们对容器本身之外的资源的访问非常有限;因此命名(所有内容都在一个容器中,容器只能访问该容器中的对
sql
docker容器中本地运行,我想备份它,并能够在创建自定义sql
docker映像时作为COPY
命令的一部分使用,然后最终将其作为RESTORE database
命令的一部分使用sqlcmd
但是,当我在SSMS
中右键单击数据库并转到backup
时,我似乎只能在容器内备份,而不能在C:
驱动器上本地备份
是否有一种方法可以将
.bak
文件检索到本地驱动器?容器的设计非常明确,因此它们对容器本身之外的资源的访问非常有限;因此命名(所有内容都在一个容器中,容器只能访问该容器中的对象)。您可以将主机上存储备份的目录装载到容器中(请参阅),但不要装载C:
,只装载您需要的目录。否则,您需要将.bak
文件复制到容器的文件系统。谢谢,假设我将其保存在容器/var/backups
中预先存在的文件夹中,然后我从那里创建一个绑定装载到本地驱动器,例如C:\mssql\backups
。抱歉,我没有完全理解最后一句话。不,您需要创建一个目录,以便在主机上存储备份。然后将该目录作为装载点添加到容器中(我个人建议在/mnt
目录中,但这是首选项)。然后,您可以备份到容器中的directory,并且可以在主机上看到它。例如,假设您创建目录C:\mssql\backups
,并将其装入容器/mnt/mssql/backups/
中。当您在/mnt/mssql/backups/
中创建备份时,您也可以在C:\mssql\backups
中看到它。啊,太好了,我现在明白了,我可能会使用与我以前看到的相同的命名约定/mnt
。我还想了解如何将.sql
文件与容器中的sqlcmd
结合使用,因为我想将还原数据库
的东西放在容器中,但这是一个单独的问题,容器是明确设计的,因此它们对容器本身之外的资源的访问非常有限;因此命名(所有内容都在一个容器中,容器只能访问该容器中的对象)。您可以将主机上存储备份的目录装载到容器中(请参阅),但不要装载C:
,只装载您需要的目录。否则,您需要将.bak
文件复制到容器的文件系统。谢谢,假设我将其保存在容器/var/backups
中预先存在的文件夹中,然后我从那里创建一个绑定装载到本地驱动器,例如C:\mssql\backups
。抱歉,我没有完全理解最后一句话。不,您需要创建一个目录,以便在主机上存储备份。然后将该目录作为装载点添加到容器中(我个人建议在/mnt
目录中,但这是首选项)。然后,您可以备份到容器中的directory,并且可以在主机上看到它。例如,假设您创建目录C:\mssql\backups
,并将其装入容器/mnt/mssql/backups/
中。当您在/mnt/mssql/backups/
中创建备份时,您也可以在C:\mssql\backups
中看到它。啊,太好了,我现在明白了,我可能会使用与我以前看到的相同的命名约定/mnt
。我还想了解如何将.sql
文件与容器中的sqlcmd
结合使用,因为我想将还原数据库
的内容放在容器中,但这是一个单独的问题。