原文网址(二者内容一样):
https://bbs.csdn.net/topics/350234619
http://www.imooc.com/article/43592
https://www.cnblogs.com/love828/p/3190258.html
https://www.cnblogs.com/wenBlog/p/5857252.html(后来发现的文章,并没有试验过)
https://www.cnblogs.com/zhijianliutang/p/4113911.html (以上三个链接中的文件路径书写方式均不对,看这个)
测试之后记录自己的使用过程及结果:
1.按以上第二种方法测试,执行代码报错
Procedure sp_trace_create, Line 1.The trace file path is not valid or not supported.//过程sp_trace_create,第1行。跟踪文件路径无效或不受支持
发现文件路径书写错误(我用的是SQL SERVER2008R2和SQL SERVER 2012,都试了),更改为“\”即可
2.生产过程中发生两次死锁,将xml格式数据粘贴出来
<deadlock-list> <deadlock victim="process4992c70"> <process-list> <process id="process4992c70" taskpriority="0" logused="316" waitresource="PAGE: 5:1:239316" waittime="4151" ownerId="231364513" transactionname="INSERT" lasttranstarted="2020-03-31T10:56:16.530" XDES="0x17c97010" lockMode="U" schedulerid="5" kpid="11572" status="suspended" spid="86" sbid="0" ecid="2" priority="0" trancount="0" lastbatchstarted="2020-03-31T10:56:16.530" lastbatchcompleted="2020-03-31T10:56:16.527" clientapp="SIMATIC WinCC RT SERVER" hostname="WIN-LI61NNUVF32" hostpid="10712" isolationlevel="read committed (2)" xactid="231364513" currentdb="5" lockTimeout="4294967295" clientoption1="673316896" clientoption2="128056"> <executionStack> <frame procname="DNMes.dbo.TRIGGER_T_DD_OP1080" line="23" stmtstart="1652" stmtend="1988" sqlhandle="0x030005008e35f611441fd5003cab00000000000000000000"> update PR_StationStatus set StationStatus = @OK,StationDescribe = @RejectCode ,EditTime = getdate() where RFID = @RFID and Snum = @Snum and StationCode = 'OP1080' </frame> <frame procname="adhoc" line="1" stmtstart="478" sqlhandle="0x02000000604ac30a6c1e3d35be72a799dd6803ed3465d6ad"> INSERT INTO [DNMes].[dbo].[T_DD_OP1080]([OP1080_writeQIS3],[OP1080_writeQIS4],[OP1080_writeQIS5],[OP1080_writeQIS6],[OP1080_writeQIS7],[OP1080_writeQIS8],[OP1080_writeQIS9],[OP1080_writeQIS10],[OP1080_writeQIS11],[OP1080_writeQIS12],[OP1080_writeQIS13],[OP1080_writeQIS1],[OP1080_writeQIS2]) values(@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12,@13) </frame> <frame procname="unknown" line="1" sqlhandle="0x0200000092502431a5fe5cdd739b6043e562de33fa121cba"> unknown </frame> </executionStack> <inputbuf> </inputbuf> </process> <process id="process49ad8e8" taskpriority="0" logused="316" waitresource="PAGE: 5:1:3746" waittime="4150" ownerId="231364513" transactionname="INSERT" lasttranstarted="2020-03-31T10:56:16.530" XDES="0x547aa3b0" lockMode="U" schedulerid="6" kpid="10840" status="suspended" spid="86" sbid="0" ecid="4" priority="0" trancount="0" lastbatchstarted="2020-03-31T10:56:16.530" lastbatchcompleted="2020-03-31T10:56:16.527" clientapp="SIMATIC WinCC RT SERVER" hostname="WIN-LI61NNUVF32" hostpid="10712" isolationlevel="read committed (2)" xactid="231364513" currentdb="5" lockTimeout="4294967295" clientoption1="673316896" clientoption2="128056"> <executionStack> <frame procname="DNMes.dbo.TRIGGER_T_DD_OP1080" line="23" stmtstart="1652" stmtend="1988" sqlhandle="0x030005008e35f611441fd5003cab00000000000000000000"> update PR_StationStatus set StationStatus = @OK,StationDescribe = @RejectCode ,EditTime = getdate() where RFID = @RFID and Snum = @Snum and StationCode = 'OP1080' </frame> <frame procname="adhoc" line="1" stmtstart="478" sqlhandle="0x02000000604ac30a6c1e3d35be72a799dd6803ed3465d6ad"> INSERT INTO [DNMes].[dbo].[T_DD_OP1080]([OP1080_writeQIS3],[OP1080_writeQIS4],[OP1080_writeQIS5],[OP1080_writeQIS6],[OP1080_writeQIS7],[OP1080_writeQIS8],[OP1080_writeQIS9],[OP1080_writeQIS10],[OP1080_writeQIS11],[OP1080_writeQIS12],[OP1080_writeQIS13],[OP1080_writeQIS1],[OP1080_writeQIS2]) values(@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12,@13) </frame> <frame procname="unknown" line="1" sqlhandle="0x0200000092502431a5fe5cdd739b6043e562de33fa121cba"> unknown </frame> </executionStack> <inputbuf> </inputbuf> </process> <process id="process440f8e8" taskpriority="0" logused="5980" waitresource="PAGE: 5:1:22935" waittime="4157" ownerId="231364381" transactionname="user_transaction" lasttranstarted="2020-03-31T10:56:15.740" XDES="0x17feee50" lockMode="U" schedulerid="3" kpid="4820" status="suspended" spid="81" sbid="0" ecid="2" priority="0" trancount="0" lastbatchstarted="2020-03-31T10:56:16.557" lastbatchcompleted="2020-03-31T10:56:16.557" clientapp=".Net SqlClient Data Provider" hostname="WIN-LI61NNUVF32" hostpid="12320" isolationlevel="read committed (2)" xactid="231364381" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056"> <executionStack> <frame procname="adhoc" line="1" stmtstart="82" sqlhandle="0x02000000440160099d34ad15cfe69b7cb09ee8af2dd1cda0"> UPDATE [PR_StationStatus] SET [StationStatus]=NULL,[StationDescribe]=NULL,[EditTime]=NULL WHERE ([PR_StationStatus].[Snum] = @P_0 AND [PR_StationStatus].[StationCode] = @P_1 AND [PR_StationStatus].[OffLine] = CAST(0 AS BIT)) </frame> <frame procname="unknown" line="1" sqlhandle="0x000000000000000000000000000000000000000000000000"> unknown </frame> </executionStack> <inputbuf> </inputbuf> </process> <process id="process38bae38" taskpriority="0" logused="5980" waitresource="PAGE: 5:1:251143" waittime="4158" ownerId="231364381" transactionname="user_transaction" lasttranstarted="2020-03-31T10:56:15.740" XDES="0xffffffff95af3b50" lockMode="U" schedulerid="1" kpid="10072" status="suspended" spid="81" sbid="0" ecid="6" priority="0" trancount="0" lastbatchstarted="2020-03-31T10:56:16.557" lastbatchcompleted="2020-03-31T10:56:16.557" clientapp=".Net SqlClient Data Provider" hostname="WIN-LI61NNUVF32" hostpid="12320" isolationlevel="read committed (2)" xactid="231364381" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056"> <executionStack> <frame procname="adhoc" line="1" stmtstart="82" sqlhandle="0x02000000440160099d34ad15cfe69b7cb09ee8af2dd1cda0"> UPDATE [PR_StationStatus] SET [StationStatus]=NULL,[StationDescribe]=NULL,[EditTime]=NULL WHERE ([PR_StationStatus].[Snum] = @P_0 AND [PR_StationStatus].[StationCode] = @P_1 AND [PR_StationStatus].[OffLine] = CAST(0 AS BIT)) </frame> <frame procname="unknown" line="1" sqlhandle="0x000000000000000000000000000000000000000000000000"> unknown </frame> </executionStack> <inputbuf> </inputbuf> </process> <process id="process4678c70" taskpriority="0" logused="5980" waitresource="PAGE: 5:1:1037" waittime="4158" ownerId="231364381" transactionname="user_transaction" lasttranstarted="2020-03-31T10:56:15.740" XDES="0xffffffffd50e7aa8" lockMode="U" schedulerid="4" kpid="10744" status="suspended" spid="81" sbid="0" ecid="3" priority="0" trancount="0" lastbatchstarted="2020-03-31T10:56:16.557" lastbatchcompleted="2020-03-31T10:56:16.557" clientapp=".Net SqlClient Data Provider" hostname="WIN-LI61NNUVF32" hostpid="12320" isolationlevel="read committed (2)" xactid="231364381" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056"> <executionStack> <frame procname="adhoc" line="1" stmtstart="82" sqlhandle="0x02000000440160099d34ad15cfe69b7cb09ee8af2dd1cda0"> UPDATE [PR_StationStatus] SET [StationStatus]=NULL,[StationDescribe]=NULL,[EditTime]=NULL WHERE ([PR_StationStatus].[Snum] = @P_0 AND [PR_StationStatus].[StationCode] = @P_1 AND [PR_StationStatus].[OffLine] = CAST(0 AS BIT)) </frame> <frame procname="unknown" line="1" sqlhandle="0x000000000000000000000000000000000000000000000000"> unknown </frame> </executionStack> <inputbuf> </inputbuf> </process> <process id="process4405390" taskpriority="0" logused="5980" waitresource="PAGE: 5:1:42278" waittime="4158" ownerId="231364381" transactionname="user_transaction" lasttranstarted="2020-03-31T10:56:15.740" XDES="0x1789bdc8" lockMode="U" schedulerid="2" kpid="1132" status="suspended" spid="81" sbid="0" ecid="5" priority="0" trancount="0" lastbatchstarted="2020-03-31T10:56:16.557" lastbatchcompleted="2020-03-31T10:56:16.557" clientapp=".Net SqlClient Data Provider" hostname="WIN-LI61NNUVF32" hostpid="12320" isolationlevel="read committed (2)" xactid="231364381" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056"> <executionStack> <frame procname="adhoc" line="1" stmtstart="82" sqlhandle="0x02000000440160099d34ad15cfe69b7cb09ee8af2dd1cda0"> UPDATE [PR_StationStatus] SET [StationStatus]=NULL,[StationDescribe]=NULL,[EditTime]=NULL WHERE ([PR_StationStatus].[Snum] = @P_0 AND [PR_StationStatus].[StationCode] = @P_1 AND [PR_StationStatus].[OffLine] = CAST(0 AS BIT)) </frame> <frame procname="unknown" line="1" sqlhandle="0x000000000000000000000000000000000000000000000000"> unknown </frame> </executionStack> <inputbuf> </inputbuf> </process> <process id="process4993558" taskpriority="0" logused="5980" waitresource="PAGE: 5:1:257671" waittime="4157" ownerId="231364381" transactionname="user_transaction" lasttranstarted="2020-03-31T10:56:15.740" XDES="0x178a7dc8" lockMode="U" schedulerid="5" kpid="10120" status="suspended" spid="81" sbid="0" ecid="4" priority="0" trancount="0" lastbatchstarted="2020-03-31T10:56:16.557" lastbatchcompleted="2020-03-31T10:56:16.557" clientapp=".Net SqlClient Data Provider" hostname="WIN-LI61NNUVF32" hostpid="12320" isolationlevel="read committed (2)" xactid="231364381" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056"> <executionStack> <frame procname="adhoc" line="1" stmtstart="82" sqlhandle="0x02000000440160099d34ad15cfe69b7cb09ee8af2dd1cda0"> UPDATE [PR_StationStatus] SET [StationStatus]=NULL,[StationDescribe]=NULL,[EditTime]=NULL WHERE ([PR_StationStatus].[Snum] = @P_0 AND [PR_StationStatus].[StationCode] = @P_1 AND [PR_StationStatus].[OffLine] = CAST(0 AS BIT)) </frame> <frame procname="unknown" line="1" sqlhandle="0x000000000000000000000000000000000000000000000000"> unknown </frame> </executionStack> <inputbuf> </inputbuf> </process> <process id="process49ad720" taskpriority="0" logused="5980" waitresource="PAGE: 5:1:2279" waittime="4158" ownerId="231364381" transactionname="user_transaction" lasttranstarted="2020-03-31T10:56:15.740" XDES="0x547aa1f8" lockMode="U" schedulerid="6" kpid="11660" status="suspended" spid="81" sbid="0" ecid="1" priority="0" trancount="0" lastbatchstarted="2020-03-31T10:56:16.557" lastbatchcompleted="2020-03-31T10:56:16.557" clientapp=".Net SqlClient Data Provider" hostname="WIN-LI61NNUVF32" hostpid="12320" isolationlevel="read committed (2)" xactid="231364381" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056"> <executionStack> <frame procname="adhoc" line="1" stmtstart="82" sqlhandle="0x02000000440160099d34ad15cfe69b7cb09ee8af2dd1cda0"> UPDATE [PR_StationStatus] SET [StationStatus]=NULL,[StationDescribe]=NULL,[EditTime]=NULL WHERE ([PR_StationStatus].[Snum] = @P_0 AND [PR_StationStatus].[StationCode] = @P_1 AND [PR_StationStatus].[OffLine] = CAST(0 AS BIT)) </frame> <frame procname="unknown" line="1" sqlhandle="0x000000000000000000000000000000000000000000000000"> unknown </frame> </executionStack> <inputbuf> </inputbuf> </process> <process id="process38bb390" taskpriority="0" logused="10000" waittime="4137" schedulerid="1" kpid="6720" status="suspended" spid="86" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2020-03-31T10:56:16.530" lastbatchcompleted="2020-03-31T10:56:16.527" clientapp="SIMATIC WinCC RT SERVER" hostname="WIN-LI61NNUVF32" hostpid="10712" loginname="sa" isolationlevel="read committed (2)" xactid="231364513" currentdb="5" lockTimeout="4294967295" clientoption1="673316896" clientoption2="128056"> <executionStack> <frame procname="DNMes.dbo.TRIGGER_T_DD_OP1080" line="23" stmtstart="1652" stmtend="1988" sqlhandle="0x030005008e35f611441fd5003cab00000000000000000000"> update PR_StationStatus set StationStatus = @OK,StationDescribe = @RejectCode ,EditTime = getdate() where RFID = @RFID and Snum = @Snum and StationCode = 'OP1080' </frame> <frame procname="adhoc" line="1" stmtstart="478" sqlhandle="0x02000000604ac30a6c1e3d35be72a799dd6803ed3465d6ad"> INSERT INTO [DNMes].[dbo].[T_DD_OP1080]([OP1080_writeQIS3],[OP1080_writeQIS4],[OP1080_writeQIS5],[OP1080_writeQIS6],[OP1080_writeQIS7],[OP1080_writeQIS8],[OP1080_writeQIS9],[OP1080_writeQIS10],[OP1080_writeQIS11],[OP1080_writeQIS12],[OP1080_writeQIS13],[OP1080_writeQIS1],[OP1080_writeQIS2]) values(@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12,@13) </frame> <frame procname="unknown" line="1" sqlhandle="0x0200000092502431a5fe5cdd739b6043e562de33fa121cba"> unknown </frame> </executionStack> <inputbuf> INSERT INTO [DNMes].[dbo].[T_DD_OP1080] ([OP1080_writeQIS3],[OP1080_writeQIS4],[OP1080_writeQIS5],[OP1080_writeQIS6],[OP1080_writeQIS7],[OP1080_writeQIS8],[OP1080_writeQIS9],[OP1080_writeQIS10],[OP1080_writeQIS11],[OP1080_writeQIS12],[OP1080_writeQIS13],[OP1080_writeQIS1],[OP1080_writeQIS2]) VALUES(N'20090HH5QA000075K2GW 4000 GE',N'0',N'6',N'1',N'1.228935',N'1',N'1.23',N'1',N'0',N'1',N'1.227284',N'1',N'0'); </inputbuf> </process> <process id="process4405558" taskpriority="0" logused="10000" waittime="4159" schedulerid="2" kpid="8496" status="suspended" spid="81" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2020-03-31T10:56:16.557" lastbatchcompleted="2020-03-31T10:56:16.557" clientapp=".Net SqlClient Data Provider" hostname="WIN-LI61NNUVF32" hostpid="12320" loginname="sa" isolationlevel="read committed (2)" xactid="231364381" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056"> <executionStack> <frame procname="adhoc" line="1" stmtstart="82" sqlhandle="0x02000000440160099d34ad15cfe69b7cb09ee8af2dd1cda0"> UPDATE [PR_StationStatus] SET [StationStatus]=NULL,[StationDescribe]=NULL,[EditTime]=NULL WHERE ([PR_StationStatus].[Snum] = @P_0 AND [PR_StationStatus].[StationCode] = @P_1 AND [PR_StationStatus].[OffLine] = CAST(0 AS BIT)) </frame> <frame procname="unknown" line="1" sqlhandle="0x000000000000000000000000000000000000000000000000"> unknown </frame> </executionStack> <inputbuf> (@P_0 nvarchar(4000),@P_1 nvarchar(4000))UPDATE [PR_StationStatus] SET [StationStatus]=NULL,[StationDescribe]=NULL,[EditTime]=NULL WHERE ([PR_StationStatus].[Snum] = @P_0 AND [PR_StationStatus].[StationCode] = @P_1 AND [PR_StationStatus].[OffLine] = CAST(0 AS BIT)) </inputbuf> </process> </process-list> <resource-list> <pagelock fileid="1" pageid="239316" dbid="5" objectname="DNMes.dbo.PR_StationStatus" id="lockffffffff974a1540" mode="UIX" associatedObjectId="72057594401521664"> <owner-list> <owner id="process4405558" mode="UIX"/> </owner-list> <waiter-list> <waiter id="process4992c70" mode="U" requestType="wait"/> </waiter-list> </pagelock> <pagelock fileid="1" pageid="3746" dbid="5" objectname="DNMes.dbo.PR_StationStatus" id="lockffffffff881834c0" mode="UIX" associatedObjectId="72057594401521664"> <owner-list> <owner id="process4405558" mode="UIX"/> </owner-list> <waiter-list> <waiter id="process49ad8e8" mode="U" requestType="wait"/> </waiter-list> </pagelock> <pagelock fileid="1" pageid="22935" dbid="5" objectname="DNMes.dbo.PR_StationStatus" id="lock44872400" mode="U" associatedObjectId="72057594401521664"> <owner-list> <owner id="process49ad8e8" mode="U"/> </owner-list> <waiter-list> <waiter id="process440f8e8" mode="U" requestType="wait"/> </waiter-list> </pagelock> <pagelock fileid="1" pageid="251143" dbid="5" objectname="DNMes.dbo.PR_StationStatus" id="lock33922f00" mode="U" associatedObjectId="72057594401521664"> <owner-list> <owner id="process38bb390" mode="U"/> <owner id="process38bb390" mode="U"/> </owner-list> <waiter-list> <waiter id="process38bae38" mode="U" requestType="wait"/> </waiter-list> </pagelock> <pagelock fileid="1" pageid="1037" dbid="5" objectname="DNMes.dbo.PR_StationStatus" id="lock29784a00" mode="U" associatedObjectId="72057594401521664"> <owner-list> <owner id="process38bb390" mode="U"/> </owner-list> <waiter-list> <waiter id="process4678c70" mode="U" requestType="wait"/> </waiter-list> </pagelock> <pagelock fileid="1" pageid="42278" dbid="5" objectname="DNMes.dbo.PR_StationStatus" id="lockffffffff99d2e400" mode="U" associatedObjectId="72057594401521664"> <owner-list> <owner id="process38bb390" mode="U"/> <owner id="process38bb390" mode="U"/> </owner-list> <waiter-list> <waiter id="process4405390" mode="U" requestType="wait"/> </waiter-list> </pagelock> <pagelock fileid="1" pageid="257671" dbid="5" objectname="DNMes.dbo.PR_StationStatus" id="lock6e1266c0" mode="U" associatedObjectId="72057594401521664"> <owner-list> <owner id="process49ad8e8" mode="U"/> <owner id="process38bb390" mode="U"/> </owner-list> <waiter-list> <waiter id="process4993558" mode="U" requestType="wait"/> </waiter-list> </pagelock> <pagelock fileid="1" pageid="2279" dbid="5" objectname="DNMes.dbo.PR_StationStatus" id="lockffffffffa20bf840" mode="U" associatedObjectId="72057594401521664"> <owner-list> <owner id="process4992c70" mode="U"/> </owner-list> <waiter-list> <waiter id="process49ad720" mode="U" requestType="wait"/> </waiter-list> </pagelock> <exchangeEvent id="Pipeffffffff93fe6340" WaitType="e_waitPipeGetRow" nodeId="3"> <owner-list> <owner id="process4992c70"/> <owner id="process49ad8e8"/> </owner-list> <waiter-list> <waiter id="process38bb390"/> </waiter-list> </exchangeEvent> <exchangeEvent id="Pipe6b2f8340" WaitType="e_waitPipeGetRow" nodeId="3"> <owner-list> <owner id="process440f8e8"/> <owner id="process4993558"/> <owner id="process49ad720"/> <owner id="process4678c70"/> <owner id="process4405390"/> <owner id="process38bae38"/> </owner-list> <waiter-list> <waiter id="process4405558"/> </waiter-list> </exchangeEvent> </resource-list> </deadlock> </deadlock-list>