sp_WhoIsActive 的奇怪情况

Rac*_*SQL 3 sql-server sql-server-2008-r2 sp-whoisactive

我有一个简单的任务来迁移数据库。

我正在主数据库中进行备份,将其设置为 OFFLINE,然后将其迁移到辅助数据库。

完全没有问题。

但我注意到一些奇怪的事情。

我检查是否有人将数据库与 一起使用sp_WhoIsActive,但它什么也没显示。

然后我使用alter database X set offline.

然后它根本不会改变它,并且查询继续运行。然后我再次检查是否有什么东西在使用数据库,令我惊讶的是,它显示了一些运行了 22 小时、20 小时或 44 分钟的东西。

为什么不sp_WhoIsActive显示?


例子:

第一次运行:

在此处输入图片说明

然后Alter etc etc set offline。然后它锁定,我再次检查 sp_WhoIsActive

在此处输入图片说明

砰。有什么东西在跑。

Eri*_*ing 6

没有错——你只需要阅读文档。默认情况下,您不会看到休眠的 SPID,除非它们阻止了另一个请求。

您正在查看的 SPID 可能是一个休眠会话。

尝试跑步

EXEC dbo.sp_WhoIsActive @show_sleeping_spids = 1

更多关于您的问题,您可能希望在尝试将其设置为离线之前将数据库设置为单用户。