gpt4 book ai didi

sql-server - SQL 作业代理数据库还原失败并出现错误 #6107 : Only user processes can be killed

转载 作者:行者123 更新时间:2023-12-03 12:32:15 28 4
gpt4 key购买 nike

我们有一个在“凌晨”运行的 SQL 作业代理,用于从生产备份中恢复我们的本地数据库 (FooData)。

首先,将数据库设置为 SINGLE_USER 模式并终止所有打开的进程。二、数据库恢复。

但第三步偶尔会失败,出现错误 6107:“只能杀死用户进程”

这种情况大约每周发生一次或两次,间隔看似随机。以下是第 3 步的代码,其中偶尔会发生故障:

USE master;
go
exec msdb.dbo.KillSpids FooData;
go
ALTER DATABASE FooData SET MULTI_USER;
go

有没有人知道可能会发生什么导致此错误?我在想在第 3 步期间可能会启动一些自动化过程,或者可能有一些用户在此期间尝试登录?我不是 DBA,所以我在这一点上猜测,虽然我认为当 DB 处于 SINGLE_USER 模式时用户不应该能够登录。

最佳答案

用户可能没有登录。系统可能正在执行某些任务。 exec sp_whosp_who2 的输出将显示打开的 session 。任何低于 50 的 SPID 都是系统进程,不能用 KILL 杀死。阻止它们的唯一方法是停止 SQL Server 服务或发出 SHUTDOWN 命令(执行相同的操作)。

关于sql-server - SQL 作业代理数据库还原失败并出现错误 #6107 : Only user processes can be killed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23203850/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com