You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Codespaces容器中恢复SQL Server备份

GitHub Codespaces 中SQL Server容器数据库恢复方案

以下是三种可直接落地的操作方案:


方案1:沿用本地操作逻辑,直接在Codespaces终端执行docker cp

Codespaces的内置终端默认拥有容器操作权限,操作逻辑和本地DevContainer完全一致:

  1. 终端执行docker ps,找到SQL Server服务对应的容器ID/名称,你配置里服务名为db,容器名通常为devcontainer_db_1格式
  2. 把.bak备份文件直接拖拽到Codespaces左侧文件管理器的工作目录,完成上传
  3. 可选:如果容器内没有备份目录,先执行创建命令:
    docker exec -it <替换为你的容器ID/名称> mkdir -p /var/opt/mssql/backup
    
  4. 把备份文件复制到容器内:
    docker cp ./替换为你的备份文件名.bak <替换为你的容器ID/名称>:/var/opt/mssql/backup/
    
  5. 用sqlcmd或者VS Code SQL Server扩展连接数据库执行恢复脚本即可,默认连接信息:
    • 地址:localhost,1433
    • 用户名:sa
    • 密码:为你docker-compose.yml中MSSQL_SA_PASSWORD环境变量配置的值(如果未配置需要先补充该配置,否则SQL Server无法正常启动)

方案2:挂载备份目录,省去每次复制文件的步骤

修改你的/.devcontainer/docker-compose.yml的db服务配置,添加卷映射,直接把工作区的备份目录挂载到SQL容器内:

# ... other containers configururation
  db:
    image: mcr.microsoft.com/mssql/server:2019-latest
    restart: unless-stopped
    environment:
      ACCEPT_EULA: Y
      MSSQL_SA_PASSWORD: "YourStrong!Passw0rd" # 需符合SQL Server强密码要求:8位以上,包含大小写、数字、特殊字符
    volumes:
      - ./mssql-backup:/var/opt/mssql/backup # 新增这行,把工作区的mssql-backup目录挂载到容器内备份目录

修改配置后重建Codespaces实例,后续只需把备份文件上传到工作区的mssql-backup目录,即可直接在SQL Server中读取到备份文件执行恢复。


方案3:用VS Code扩展可视化操作

  1. 在Codespaces的扩展市场安装SQL Server (mssql) 扩展
  2. 扩展面板中添加连接,输入上述连接信息连接到你的SQL Server实例
  3. 右键目标实例下的「数据库」选项,选择「还原」,按照引导选择备份文件路径执行恢复即可,如果已经做了目录挂载,可直接选择工作区的备份文件。

内容的提问来源于stack exchange,提问作者Lev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:27:05