我目前正在对一些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