StoredProcedure msdb.dbo.sp_help_job导致SQL Server死锁

时间:2016-03-15 15:35:07

标签: sql sql-server sql-server-2008-r2 deadlock sql-agent-job

我目前正在对一些AgentJobs进行细微更改(添加新步骤,重命名计划等)。

不时发生这种情况,当我从AgentJob保存更改时,会发生死锁。我们有一个名为SQLSentry的工具,它向我发送一封关于这些锁的电子邮件,其中包含以下信息:

[Deadlock Victim Information]:
SPID [ecid]: 89 [0]
Host: [...]
Application: Microsoft SQL Server Management Studio
Database: msdb
Login: [...]
Log Used: 0
Deadlock Priority: 0
Wait Time: 2985
Transaction Start Time: 15.03.2016 15:56:19
Last Batch Start Time: 15.03.2016 15:56:19
Last Batch Completion Time: 15.03.2016 15:56:19
Mode/Type: S
Status: suspended
Isolation Level: read committed (2)
Text Data:
    at msdb.dbo.sp_get_composite_job_info line 78
      INSERT INTO @job_execution_state
  SELECT xpr.job_id,
         xpr.last_run_date,
         xpr.last_run_time,
         xpr.job_state,
         sjs.step_id,
         sjs.step_name,
         xpr.current_retry_attempt,
         xpr.next_run_date,
         xpr.next_run_time,
         xpr.next_run_schedule_id
  FROM @xp_results                          xpr
       LEFT OUTER JOIN msdb.dbo.sysjobsteps sjs ON ((xpr.job_id = sjs.job_i
Transaction Count: 0
SPID: [...]
Transaction Name: INSERT
Transaction ID: [...]
Database ID: [...]
Wait Resource: KEY: 4:72057594057392128 (b17adeaeb74a)
Lock Timeout: 4294967295
Input Buffer:
exec msdb.dbo.sp_help_job @job_id='0435b309-1178-4b60-a937-435cb9e299ff'
ECID: 0

我不知道该怎么办这些死锁。似乎没有任何数据会丢失,因为它们。按下“保存”按钮后,也不会立即出现。大约15分钟后我收到的死锁信息。

任何想法或类似经历?这真的很痛苦,因为我无法真正重现错误。

问候,nDust

0 个答案:

没有答案