Would love to understand this as well. We recently had few devices started to send millions of traps, which has made the whole NPM unresponsive. I have implemented report and alert since to alert in case we have too many traps form one particular device. Below SQL report will give you devices which have more than 100 traps received over the last 1 hour.
WHEN (t.NodeID <> '0' AND t.NodeID IS NOT NULL)
ELSE 'Not in SolarWinds'
END AS 'Caption'
,CONVERT(NVARCHAR(50),COUNT(*)) + ' (over the last 1440 min)' AS 'TRAPS COUNT'
FROM Solarwinds.dbo.Nodes WITH(NOLOCK)
RIGHT JOIN Solarwinds.dbo.Traps t WITH(NOLOCK) ON t.NodeID = Nodes.NodeID
t.DateTime > DateAdd(MINUTE,-1440,GETDATE())
GROUP BY t.NodeID,Nodes.NodeID,t.IPAddress,t.Hostname,Nodes.Caption
COUNT(*) > MAX(100)
ORDER BY COUNT(*) DESC
For the transaction logs issue change the database recovery mode to simple, you only need the full recovery mode if using transactional backups.