The insert operation was performed by Asp.net technology on SERVER A. you suggested that use triggers which means insert on SERVER A should depend on availability of the SERVER B in transaction. We can't afford this.
Below is the way I have implemented the row processing in infinite loop.
Begin tran tran1
declare @x Table(
[ID] [bigint] NOT NULL,
[Mobile] [varchar] (50) NOT NULL,
[Message] [varchar](50) NOT NULL,
[createdate] [datetime] )
SET XACT_ABORT ON
DELETE top(500) xyz with (UPDLOCK,READPAST)
OUTPUT deleted .* INTO @x
Insert into .[apiTEST].[dbo].[xyz]
select * from @x
-- here 34 is linked server B