Would something like this work for you?DECLARE @x XML;SET @x = 'Your XML here';SELECT IDENTITY(int,1,1) AS SourceId, c.value('@ResponseId','varchar(32)') ResponseId, c.value('@ParticipentId','varchar(32)') ParticipentId, c.value('@ReceiverId','varchar(32)') ReceiverIdINTO #tmp1FROM @x.nodes('//Header') T(c); DECLARE @sourceId INT = SCOPE_IDENTITY();SELECT @sourceId AS SourceId, IDENTITY(INT,1,1) AS SID, c.value('@PBMName','varchar(32)') AS PBMNameINTO #tmp2FROM @x.nodes('//Source') T(c)SELECT * FROM #tmp1;SELECT * FROM #tmp2;DROP TABLE #tmp1;DROP TABLE #tmp2;