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

SQL Server 2012无法删除Sample数据库,请求技术协助

解决无法删除本地SQL Server Sample数据库的问题

针对你遇到的删除数据库失败的情况,试试下面这些更彻底的排查和解决方法:

方法1:强制终止所有数据库连接后删除

有时候即使设置单用户模式,仍可能存在系统进程或隐藏连接没断开。你可以先精准定位并杀死所有连接到Sample的会话,再执行删除:

-- 1. 查询所有连接到Sample的会话ID
SELECT session_id
FROM sys.dm_exec_sessions
WHERE database_id = DB_ID('Sample');

-- 2. 自动生成杀死会话的语句并执行
DECLARE @killCmd varchar(8000) = '';  
SELECT @killCmd = @killCmd + 'KILL ' + CONVERT(varchar(5), session_id) + ';'  
FROM sys.dm_exec_sessions
WHERE database_id = DB_ID('Sample');

EXEC(@killCmd);

-- 3. 执行删除数据库操作
DROP DATABASE [Sample];

方法2:利用SSMS的内置关闭连接选项

如果习惯GUI操作,试试这个更直接的路径:

  • 打开SSMS,右键点击Sample数据库 → 选择删除
  • 在弹出的删除窗口底部,勾选关闭现有连接选项
  • 点击确定执行删除

方法3:排查隐藏依赖对象

有些隐藏的依赖会阻止数据库删除,本地环境可以重点排查:

  • 检查是否存在数据库快照:执行SELECT * FROM sys.databases WHERE source_database_id = DB_ID('Sample');,如果有快照结果,先删除快照再删主数据库
  • 检查是否有未完成的事务:执行DBCC OPENTRAN('Sample'),如果返回打开的事务,用方法1的KILL语句终止后再尝试删除

方法4:确保权限和服务状态

  • 用本地管理员身份运行SSMS,并且登录SQL Server时使用具有sysadmin权限的账号,权限不足也会导致删除失败
  • 如果以上方法都无效,重启SQL Server服务:通过Win+R输入services.msc打开服务管理器,找到对应SQL Server实例右键选择重启,重启后再尝试删除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:32:56