I've a lot of deadlock on the same object of a SQLServer database.
I'm trying to solve the issue.

/****** Object: Index [PK_M6.TBL_PDC_T] ******/
ALTER TABLE [dbo].[M6.TBL_PDC_T] ADD CONSTRAINT [PK_M6.TBL_PDC_T] PRIMARY KEY CLUSTERED
(
[PDCT\_CENTATT] ASC,
[PDCT\_DATACONS] ASC,
[PDCT\_NUMPDC] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
GO
/****** Object: Table [dbo].[M6.TBL_PDC_T] Script Date: 08/05/2024 23:36:16 ******/
CREATE TABLE [dbo].[M6.TBL_PDC_T](
[PDCT\_CENTATT] [varchar](10) NOT NULL,
[PDCT\_DATACONS] [datetime] NOT NULL,
[PDCT\_NUMPDC] [numeric](10, 0) NOT NULL,
[PDCT\_TPCAR] [numeric](5, 0) NULL,
[PDCT\_TPMIS] [numeric](3, 0) NULL,
[PDCT\_TIPOMEZZO] [numeric](5, 0) NULL,
[PDCT\_TIPOATM] [numeric](5, 0) NULL,
[PDCT\_CODATB1] [varchar](10) NULL,
[PDCT\_CODATB2] [varchar](10) NULL,
[PDCT\_NUMVIA] [numeric](5, 0) NULL,
[PDCT\_TARGA1] [varchar](15) NULL,
[PDCT\_TARGA2] [varchar](15) NULL,
[PDCT\_MASSACOMPL1] [numeric](15, 5) NULL,
[PDCT\_MASSACOMPL2] [numeric](15, 5) NULL,
[PDCT\_CAPACITA1] [numeric](15, 5) NULL,
[PDCT\_CAPACITA2] [numeric](15, 5) NULL,
[PDCT\_TARADIC1] [numeric](15, 5) NULL,
[PDCT\_TARADIC2] [numeric](15, 5) NULL,
[PDCT\_PUNCAR] [varchar](10) NULL,
[PDCT\_CODVOLO] [varchar](30) NULL,
[PDCT\_CODVAGONE] [varchar](30) NULL,
[PDCT\_CODAUT1] [varchar](10) NULL,
[PDCT\_BDGAUT1] [varchar](10) NULL,
[PDCT\_CODAUT2] [varchar](10) NULL,
[PDCT\_BDGAUT2] [varchar](10) NULL,
[PDCT\_NOMEAUT1] [varchar](100) NULL,
[PDCT\_NOMEAUT2] [varchar](100) NULL,
[PDCT\_CODSOC] [varchar](10) NULL,
[PDCT\_ORA\_INICAR] [varchar](8) NULL,
[PDCT\_ORA\_FINCAR] [varchar](8) NULL,
[PDCT\_ORA\_INIVIAG] [varchar](8) NULL,
[PDCT\_NUMVIASOC] [varchar](20) NULL,
[PDCT\_DATAVIAORD] [datetime] NULL,
[PDCT\_NUMVIAORD] [varchar](10) NULL,
[PDCT\_NUMRIGAVIAO] [numeric](4, 0) NULL,
[PDCT\_DATAINS] [datetime] NULL,
[PDCT\_USERINS] [varchar](50) NULL,
[PDCT\_USERMOD] [varchar](50) NULL,
[PDCT\_DATASINCR] [datetime] NULL,
[PDCT\_FLSINCR] [numeric](2, 0) NULL,
[PDCT\_STATO] [numeric](5, 0) NOT NULL,
[PDCT\_TPINVIO] [numeric](5, 0) NOT NULL,
[PDCT\_STPRT] [numeric](5, 0) NULL,
[PDCT\_NUMBAIA] [varchar](50) NULL,
[PDCT\_STATOCONV] [numeric](5, 0) NULL,
[PDCT\_COD\_VETT] [varchar](10) NULL,
[PDCT\_RAGSOC\_VETT] [varchar](100) NULL,
[PDCT\_IND\_VETT] [varchar](100) NULL,
[PDCT\_LOC\_VETT] [varchar](100) NULL,
[PDCT\_PROV\_VETT] [varchar](5) NULL,
[PDCT\_CAP\_VETT] [varchar](5) NULL,
[PDCT\_PIVACF\_VETT] [varchar](50) NULL,
[PDCT\_CIVICO\_VETT] [numeric](5, 0) NULL,
[PDCT\_COD\_ITRASP] [varchar](10) NULL,
[PDCT\_RAGSOC\_ITRASP] [varchar](100) NULL,
[PDCT\_IND\_ITRASP] [varchar](100) NULL,
[PDCT\_LOC\_ITRASP] [varchar](100) NULL,
[PDCT\_CIVICO\_ITRASP] [numeric](5, 0) NULL,
[PDCT\_PROV\_ITRASP] [varchar](5) NULL,
[PDCT\_CAP\_ITRASP] [varchar](5) NULL,
[PDCT\_PIVACF\_ITRASP] [varchar](50) NULL,
[PDCT\_CAMPO\_LIBERO\_1] [varchar](50) NULL,
[PDCT\_CAMPO\_LIBERO\_2] [numeric](10, 0) NULL,
[PDCT\_CAMPO\_LIBERO\_3] [varchar](50) NULL,
[PDCT\_CAMPO\_LIBERO\_4] [numeric](10, 0) NULL,
CONSTRAINT [PK_M6.TBL_PDC_T] PRIMARY KEY CLUSTERED
(
[PDCT\_CENTATT] ASC,
[PDCT\_DATACONS] ASC,
[PDCT\_NUMPDC] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'M6.TBL_PDC_T', @level2type=N'COLUMN',@level2name=N'PDCT_ORA_INIVIAG'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'M6.TBL_PDC_T', @level2type=N'COLUMN',@level2name=N'PDCT_CAMPO_LIBERO_1'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', PDCT_CAMPOLIBERO_2 =1 ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'M6.TBL_PDC_T', @level2type=N'COLUMN',@level2name=N'PDCT_CAMPO_LIBERO_2'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'M6.TBL_PDC_T', @level2type=N'COLUMN',@level2name=N'PDCT_CAMPO_LIBERO_3'
GO
<deadlock>
<victim-list>
<victimProcess id="process16956b7dc28" />
</victim-list>
<process-list>
<process id="process16956b7dc28" taskpriority="0" logused="0" waitresource="KEY: 7:72057594104774656 (90b6445d876b)" waittime="3620" ownerId="401225007" transactionname="SELECT" lasttranstarted="2024-05-08T17:28:30.393" XDES="0x169560a5c08" lockMode="S" schedulerid="5" kpid="3660" status="suspended" spid="140" sbid="0" ecid="0" priority="0" trancount="0" lastbatchstarted="2024-05-08T17:28:30.393" lastbatchcompleted="2024-05-08T17:28:30.400" lastattention="1900-01-01T00:00:00.400" clientapp="Core Microsoft SqlClient Data Provider" hostname="ITNADAS66" hostpid="25188" loginname="M6USER_DB" isolationlevel="read committed (2)" xactid="401225007" currentdb="7" currentdbname="mbr06" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="384" stmtend="1118" sqlhandle="0x0200000014179707ffccd408f238abae1d1af2135f89b7f20000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
(@__pdcT_PDCT_CENTATT_0 nvarchar(450),@__pdcT_PDCT_DATACONS_1 datetime2(7),@__p_2 datetime2(7),@__stato_3 decimal(1,0),@__pdcT_PDCT_FLSINCR_4 decimal(1,0),@__pdcT_PDCT_CODSOC_5 nvarchar(4000))SELECT [m].[PDCT_NUMPDC]
FROM [M6.TBL_PDC_T] AS [m]
WHERE (((((([m].[PDCT_CENTATT] = @__pdcT_PDCT_CENTATT_0) AND ([m].[PDCT_DATACONS] <= @__pdcT_PDCT_DATACONS_1)) AND ([m].[PDCT_DATACONS] >= @__p_2)) AND ([m].[PDCT_STATO] = @__stato_3)) AND ([m].[PDCT_FLSINCR] = @__pdcT_PDCT_FLSINCR_4)) AND ([m].[PDCT_STATO] <> 5.0)) AND ([m].[PDCT_CODSOC] = @__pdcT_PDCT_CODSOC_5) </inputbuf>
</process>
<process id="process1695319dc28" taskpriority="0" logused="272" waitresource="PAGE: 7:1:4089552 " waittime="3649" ownerId="401225077" transactionname="user_transaction" lasttranstarted="2024-05-08T17:28:30.650" XDES="0x1695b890460" lockMode="IX" schedulerid="2" kpid="5852" status="suspended" spid="141" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2024-05-08T17:28:30.660" lastbatchcompleted="2024-05-08T17:28:30.650" lastattention="1900-01-01T00:00:00.650" clientapp=".Net SqlClient Data Provider" hostname="ITNADAS66" hostpid="6320" loginname="M6USER_DB" isolationlevel="read committed (2)" xactid="401225077" currentdb="7" currentdbname="mbr06" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="2422" stmtend="6378" sqlhandle="0x02000000762c4937922f9c4167f98265edc0b5dc20f5be300000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
(@p0 varchar(8000),@p1 datetime,@p2 decimal(10,0),@p3 decimal(5,0),@p4 decimal(3,0),@p5 decimal(5,0),@p6 decimal(5,0),@p7 varchar(8000),@p8 varchar(8000),@p9 decimal(5,0),@p10 varchar(8000),@p11 varchar(8000),@p12 decimal(15,5),@p13 decimal(15,5),@p14 decimal(15,5),@p15 decimal(15,5),@p16 decimal(15,5),@p17 decimal(15,5),@p18 varchar(8000),@p19 varchar(8000),@p20 varchar(8000),@p21 varchar(8000),@p22 varchar(8000),@p23 varchar(8000),@p24 varchar(8000),@p25 varchar(8000),@p26 varchar(8000),@p27 varchar(8000),@p28 varchar(8000),@p29 varchar(8000),@p30 varchar(8000),@p31 varchar(8000),@p32 datetime,@p33 varchar(8000),@p34 decimal(4,0),@p35 datetime,@p36 varchar(8000),@p37 varchar(8000),@p38 datetime,@p39 decimal(2,0),@p40 decimal(5,0),@p41 decimal(5,0),@p42 decimal(5,0),@p43 varchar(8000),@p44 decimal(5,0),@p45 varchar(8000),@p46 varchar(8000),@p47 varchar(8000),@p48 varchar(8000),@p49 varchar(8000),@p50 varchar(8000),@p51 varchar(8000),@p52 decimal(5,0),@p53 varchar(8000),@p54 varchar(8000),@p55 varchar(8000), </inputbuf>
</process>
</process-list>
<resource-list>
<keylock hobtid="72057594104774656" dbid="7" objectname="mbr06.dbo.M6.TBL_PDC_T" indexname="PK_M6.TBL_PDC_T" id="lock16d6e3ef080" mode="X" associatedObjectId="72057594104774656">
<owner-list>
<owner id="process1695319dc28" mode="X" />
</owner-list>
<waiter-list>
<waiter id="process16956b7dc28" mode="S" requestType="wait" />
</waiter-list>
</keylock>
<pagelock fileid="1" pageid="4089552" dbid="7" subresource="FULL" objectname="mbr06.dbo.M6.TBL_PDC_T" id="lock16dbb6c4b00" mode="S" associatedObjectId="72057594104840192">
<owner-list>
<owner id="process16956b7dc28" mode="S" />
</owner-list>
<waiter-list>
<waiter id="process1695319dc28" mode="IX" requestType="wait" />
</waiter-list>
</pagelock>
</resource-list>
</deadlock>
* * Moved from Windows/other