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

使用连接字符串创建Server对象执行SQL Server还原时提示无法获取独占访问权的问题排查求助

使用连接字符串创建Server对象执行SQL Server还原时提示无法获取独占访问权的问题排查求助

大家好,我遇到一个挺棘手的奇怪问题,和SQL Server的Server对象使用有关。当我采用SQL Server认证方式执行数据库还原操作时,总会收到这样的错误提示:

Exclusive access could not be obtained because the database is in use

我先跟大家说下具体情况:

  • 还原按钮的点击事件代码里,我明明调用了server.KillAllProcesses(DB_NAME)来终止目标数据库的所有关联进程
  • 如果我直接用实例名创建Server对象,比如Server server=new Server("localhost\PharmSpec"),不管是本地机器还是虚拟机上,还原操作都能正常跑通
  • 但如果我改用连接字符串来创建Server对象,还原就失败了,而且这个问题只在虚拟机上出现,本地机器完全没问题
  • 连接字符串肯定是正确的,因为备份、归档这类其他数据库操作都能正常执行,唯独还原在虚拟机上卡壳

下面是还原按钮点击事件的代码片段(部分内容省略):

private void Restore_OK_But_Click(object sender, System.EventArgs e)
{
        SAForm m_saForm;
        string strSAPswd;
        // 后续还原相关代码(原内容省略)
}

有没有大佬能帮我分析下这到底是哪里出问题了呀?

备注:内容来源于stack exchange,提问作者nikhil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 13:25:29