CREATE DATABASE [DeadLockSample] GO USE [DeadLockSample] GO CREATE TABLE [dbo].[tbl_1]( [col1] [int] IDENTITY(1,1) NOT NULL, [col2] [char](1) NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[tbl_2]( [col1] [int] IDENTITY(1,1) NOT NULL, [col2] [char](1) NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO CREATE PROCEDURE [dbo].[procStartDeadLock1] AS BEGIN BEGIN TRY BEGIN TRAN INSERT tbl_1 VALUES ('1') WAITFOR DELAY '00:00:05' UPDATE tbl_2 SET col2 = '1' COMMIT TRAN END TRY BEGIN CATCH IF @@ERROR = 1205 SELECT 'Deadlock victim: 1' ROLLBACK TRAN END CATCH END GO CREATE PROCEDURE [dbo].[procStartDeadLock2] AS BEGIN BEGIN TRY BEGIN TRAN INSERT tbl_2 VALUES ('2') WAITFOR DELAY '00:00:05' UPDATE tbl_1 SET col2 = '2' COMMIT TRAN END TRY BEGIN CATCH IF @@ERROR = 1205 SELECT 'Deadlock victim: 2' ROLLBACK TRAN END CATCH END GO