症状
在 Microsoft Business Solutions - 业务门户中执行以下任一操作时,会收到一条错误消息:
-
尝试还原数据库。
-
尝试使数据库脱机。
-
尝试为单用户访问或只读访问配置数据库。
收到以下错误消息:
错误 5070:当其他用户使用数据库"database_name ALTER DATABASE 语句失败时无法更改数据库状态。 sp_dboption命令失败。
即使所有用户已退出 Microsoft Dynamics GP 或 Microsoft Dynamics SL,也会出现此问题。
原因
业务门户使用连接池来利用性能优势。 出现此行为的原因是连接池的作用方式,以及业务门户的设计。 在用户关闭其浏览器会话后,业务门户用户保持与数据库的连接。
解决方案
若要解决此问题,请按照下列步骤操作:
-
显示与数据库的活动连接、Microsoft SQL Server 2000 服务器进程 ID (SPID) 状态和登录名称。 为此,请按照下列步骤操作:
-
启动SQL分析器。
-
运行以下脚本。
sp_who
-
-
重置活动连接。 为此,请使用下列方法之一。方法 1 手动断开业务门户用户的 SPID。 此方法是推荐的方法,因为它影响最小的进程和用户。 注意 在按照这些步骤操作之前,请使所有用户退出业务门户。
-
启动SQL分析器。
-
针对数据库运行以下脚本。
KILL <SPID number>
注意 将< SPID> 占位符替换为步骤 1 中的 SPID 编号。
方法 2 使用 SQL 管理器SQL Server Management Studio重启Microsoft SQL Server服务:
-
让所有用户退出业务门户和任何其他连接到 Microsoft SQL Server。
-
使用 SQL 或 Microsoft SQL Server Management Studio SQL Server Enterprise Manager 重新启动 SQL Server Enterprise 服务。重新启动服务SQL,将重置所有 SPID 和所有 SPID 连接。 方法 2 影响的用户和进程数多于方法 1。
-
更多信息
有关 KILL 命令的信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:
171224 了解 Transact-SQL KILL 命令的工作原理