首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在xp_LogInfo上杀死SPID不回滚和不断增长的tempdb

在xp_LogInfo上杀死SPID不回滚和不断增长的tempdb
EN

Database Administration用户
提问于 2020-10-22 18:46:29
回答 1查看 416关注 0票数 0

我收到通知说,当检查运行中的进程时,它指向服务器代理任务的驱动器上的空间正在减少。

我检查了预定的任务,我们有一个已经运行了超过一天的任务,通常运行不到一分钟,并且它在作业活动监视器中显示“执行:0(未知)”的状态。

当我试图停止作业在活动监视器什么都没有发生,它只是继续运行和填充几乎全部大小的光盘。我知道作业本身可以在不影响业务的情况下停止和重新运行,我可能太仓促地杀死了SPID,认为这将“释放”空间回tempdb,然后我会在几个小时后重新启动服务,以缩小文件。

不幸的是,这是不起作用的,SPID已经在关闭/回滚状态近一天了,而tempdb文件却在增长(我在查看它时,安排了它们所在的磁盘增加)。

当我检查SPID的进程时,它似乎正在运行xp_LogInfo,最后一批与insert #nt select distinct domain+N'\'+name, sid, sidtype from OpenRowset(TABLE NETUSERGETGROUPS, @acctnam有关。

我相信,当作业启动时,SQL的所有者可能已经重置了他们的密码,从而导致这个问题(这只是我猜的),从而导致它陷入循环中。

CPU和MemUsage在sysprocesses中已经有一天没有改变了,LastWaitType正在显示为PREEMPTIVE_OS_AUTHORIZATIONOPS

当为我之前杀死的SPID运行DBCC INPUTBUFFER时,我收到以下消息:

代码语言:javascript
复制
EventType - Language Event
Parameters - 0
EventInfo - (@P1 nvarchar(128),@P2 uniqueidentifier)EXECUTE msdb.dbo.sp_sqlagent_has_server_access @login_name = @P1, @job_id = @P2

我现在已经重新启动了SQL Server代理服务,该服务停止了作业的运行,但tempdb日志继续增长。

我能做些什么来解决这个问题?

在运行DBCC OPENTRAN(TEMPDB)时,我得到以下内容,它所涉及的spid是我杀死的那个:

代码语言:javascript
复制
Transaction information for database 'tempdb'.
Oldest active transaction:
SPID (server process ID): 205
UID (user ID) : -1
Name : INSERT EXEC
LSN : (5293:26478:20)
Start time : Oct 19 2020 3:30:02:193PM
SID : 0x0105000000000005150000005f9b10c13b99fcfc4ad890fd8e220200

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

kill {spid} with statusonly返回“SPID205:正在进行的事务回滚。估计回滚完成率: 0%。估计剩余时间:0秒。”

EN

回答 1

Database Administration用户

发布于 2020-10-23 09:10:47

谢谢你在这件事上的帮助,

虽然杀伤/回滚没有显示出正在进行,但看起来似乎正在进行,45小时后,过程完成,空间返回给我的TempDb

再次感谢

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/278527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档