【发布时间】:2014-04-21 18:52:58
【问题描述】:
我们有一个在“凌晨”运行的 SQL 作业代理,用于从生产备份中恢复我们的本地数据库 (FooData)。
首先,将数据库设置为 SINGLE_USER 模式并终止所有打开的进程。二、数据库恢复。
但第 3 步偶尔会失败,出现错误 6107:“只能杀死用户进程”
这种情况大约每周发生一次或两次,间隔看似随机。以下是步骤 3 的代码,其中偶尔会发生故障:
USE master;
go
exec msdb.dbo.KillSpids FooData;
go
ALTER DATABASE FooData SET MULTI_USER;
go
有没有人知道可能会发生什么导致此错误?我在想在第 3 步期间可能会启动一些自动化过程,或者可能有一些用户在此期间尝试登录?我不是 DBA,所以我在这一点上猜测,尽管我相信当 DB 处于 SINGLE_USER 模式时用户应该无法登录。
【问题讨论】:
-
这能回答你的问题吗? Kill only user processes in SQL Server
标签: sql-server database-restore single-user