SQL Server does not do well with loops - and looping 1000 times to insert 1000 rows is going to take some time. If you want better performance for batch inserts like this - you would be much better off using a batch insert process.
An example to mimic your process would be:
Drop Table If Exists #testperf01;
Create Table #testperf01 (
[CCN] [varchar](6) Not Null
, [SVC_CUR_ERROR_ROLLUP_ID] [numeric](6, 0) Null
, [SVC_ENG_ERROR_ROLLUP_ID] [numeric](6, 0) Null
, [SVC_SIM_ERROR_ROLLUP_ID] [numeric](6, 0) Null
, [SVC_ITEM_AGC] [varchar](30) Null
, [SVC_ITEM_VAT] [varchar](30) Null
, [SVC_ITEM_STAX] [varchar](30) Null
, [SVC_ITEM_UTAX] [varchar](30) Null
, [SVC_ITEM_ETAX] [varchar](30) Null
);
Declare @startTime datetime2 = sysdatetime();
--==== Batch insert 1000 rows
With t(n)
As (
Select t.n
From (
Values (0), (0), (0), (0), (0), (0), (0), (0), (0), (0)) As t(n)
)
, iTally (n)
As (
Select checksum(row_number() over(Order By @@spid))
From t t1, t t2, t t3 -- 1000 rows
)
Insert Into #testperf01 (
CCN
, SVC_CUR_ERROR_ROLLUP_ID
, SVC_ENG_ERROR_ROLLUP_ID
, SVC_SIM_ERROR_ROLLUP_ID
, SVC_ITEM_AGC
, SVC_ITEM_VAT
, SVC_ITEM_STAX
, SVC_ITEM_UTAX
, SVC_ITEM_ETAX
)
Select CCN = cast(it.n As varchar(6))
, SVC_CUR_ERROR_ROLLUP_ID = 123
, SVC_ENG_ERROR_ROLLUP_ID = 123
, SVC_SIM_ERROR_ROLLUP_ID = 123
, SVC_ITEM_AGC = 'AGC'
, SVC_ITEM_VAT = 'VT1'
, SVC_ITEM_STAX = '1'
, SVC_ITEM_UTAX = '1'
, SVC_ITEM_ETAX = '1'
From iTally it;
Declare @endDateTime datetime2 = sysdatetime();
Select @startTime
, @endDateTime
, ms = datediff(ms, @startTime, @endDateTime)
, ns = datediff(ns, @startTime, @endDateTime);
The first time this runs it will take longer - as it needs to generate the execution plan. But after this it takes less than 50ns (on my system) and reports 0 for both ms and ns. It also does not require a transaction since all rows are inserted in a single transaction.
With that said - this technique may not work for your specific process as it is all dependent on how the values are generated for each row to be inserted and what it takes to generate those values.