症状

在 Microsoft Business Solutions - 业务门户中执行以下任一操作时,会收到一条错误消息:

  • 尝试还原数据库。

  • 尝试使数据库脱机。

  • 尝试为单用户访问或只读访问配置数据库。

收到以下错误消息:

错误 5070:当其他用户使用数据库"database_name ALTER DATABASE 语句失败时无法更改数据库状态。 sp_dboption命令失败。

即使所有用户已退出 Microsoft Dynamics GP 或 Microsoft Dynamics SL,也会出现此问题。

原因

业务门户使用连接池来利用性能优势。 出现此行为的原因是连接池的作用方式,以及业务门户的设计。 在用户关闭其浏览器会话后,业务门户用户保持与数据库的连接。

解决方案

若要解决此问题,请按照下列步骤操作:

  1. 显示与数据库的活动连接、Microsoft SQL Server 2000 服务器进程 ID (SPID) 状态和登录名称。 为此,请按照下列步骤操作:

    1. 启动SQL分析器。

    2. 运行以下脚本。

      sp_who
  2. 重置活动连接。 为此,请使用下列方法之一。方法 1 手动断开业务门户用户的 SPID。 此方法是推荐的方法,因为它影响最小的进程和用户。 注意 在按照这些步骤操作之前,请使所有用户退出业务门户。

    1. 启动SQL分析器。

    2. 针对数据库运行以下脚本。

      KILL <SPID number>

      注意 将< SPID> 占位符替换为步骤 1 中的 SPID 编号。

    方法 2 使用 SQL 管理器SQL Server Management Studio重启Microsoft SQL Server服务:

    1. 让所有用户退出业务门户和任何其他连接到 Microsoft SQL Server。

    2. 使用 SQL 或 Microsoft SQL Server Management Studio SQL Server Enterprise Manager 重新启动 SQL Server Enterprise 服务。重新启动服务SQL,将重置所有 SPID 和所有 SPID 连接。 方法 2 影响的用户和进程数多于方法 1。

更多信息

有关 KILL 命令的信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:

171224 了解 Transact-SQL KILL 命令的工作原理

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。