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

如何删除Docker容器内的SQL Server数据库?

嘿,我来帮你搞定这个问题!既然你明确说不需要保留任何数据,有两种简单直接的方法可以实现,看你更倾向哪种场景:

方法一:直接在容器内删除指定数据库(保留容器)

如果还想继续用当前的SQL Server容器,只是删掉某个数据库的话,按以下步骤来:

  • 首先进入运行中的SQL Server容器的SQL命令行,替换命令里的<容器名称/ID>和<你的SA密码>(就是你部署时设置的那个):
    docker exec -it <容器名称/ID> /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P <你的SA密码>
    
  • 进入SQL环境后,先确认要删除的数据库名称,执行这条查询:
    SELECT name FROM sys.databases;
    
    执行后会列出所有数据库,找到你要删的那个名字。
  • 如果目标数据库有活跃连接,先强制断开所有连接(避免删库失败):
    ALTER DATABASE <你的数据库名称> SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
    
  • 最后执行删除命令:
    DROP DATABASE <你的数据库名称>;
    
  • 完成后输入QUIT;退出SQL命令行就行。
方法二:删除整个容器并重新构建(彻底清空所有数据)

如果连容器本身都不需要保留,想完全从头来过,这个方法更彻底:

  • 先停止运行中的SQL Server容器:
    docker stop <容器名称/ID>
    
  • 删除这个容器:
    docker rm <容器名称/ID>
    
  • 重要提醒:如果部署时你挂载了自定义数据卷来保存SQL数据,还要把对应的数据卷删掉,不然重新启动容器后旧数据还会存在:
    docker volume rm <数据卷名称>
    
    不知道数据卷名称的话,可以用docker volume ls查看。
  • 最后用你之前部署时的命令重新启动一个全新的SQL Server容器,比如(记得替换<你的SA密码>和<容器名称>):
    docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<你的SA密码>" -p 1433:1433 --name <容器名称> -d mcr.microsoft.com/mssql/server:2017-latest
    
    这里的镜像版本是2017-latest,和你之前用的保持一致就行。

内容的提问来源于stack exchange,提问作者DJ Eddie J

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:19:52