【问题标题】:Remotely backup SQL Server Docker container Using Powershell使用 Powershell 远程备份 SQL Server Docker 容器
【发布时间】:2019-04-12 03:59:34
【问题描述】:

我在 docker 容器上有一个 SQL Server (microsoft/mssql-server-linux) 我想使用 Powershell 命令远程备份数据库。

所以最终结果将是一个.bak 文件将被添加到容器中。 有谁知道这是否可能,以及如何?

【问题讨论】:

    标签: sql-server powershell docker database-backups powershell-core


    【解决方案1】:

    是的! microsoft/mssql-server-linux 基于 ubuntu 16.04 并且可以从容器内部使用scp 到您的主机!使用docker exec -it {container_id} bash 访问您的容器终端! 使用此 guid 创建 .bak 文件后:

    https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-backup-and-restore-database?view=sql-server-2017

    文件在您的容器中!使用scp 复制到 ssh!

    这里是关于如何从 linux 到 windows 的 scp 的提示:https://stackoverflow.com/a/37712656/4708874

    【讨论】:

    • 我可以使用备份命令而不获取容器内部的 bash 访问权限吗,我的目标是使用对侦听 sql 容器的休息请求进行备份。
    • 我收到以下“bash: mysqldump: command not found”
    • 第一个评论可以,但是需要自己写个web服务或者可以在这里使用开源项目:github.com/arut/nginx-mysql-module
    • mysql != mssql。因此,我不希望前者的备份命令对后者起作用。
    • 哦,对不起!这些天我用不同的 RDBMS 处理不同的项目,我把它们搞混了!我编辑了我的答案谢谢@BenThul
    【解决方案2】:

    备份数据库应该不会因为 SQL Server 在容器中运行而有所不同。也就是说,发出backup database [yourDB] to disk = '«some file path»'; 将起作用。现在,该文件路径是容器内部还是外部(即您使用的是持久卷)取决于您启动 docker 实例的方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-16
      • 1970-01-01
      • 2020-07-09
      • 2017-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多