Will creating partitions reduce locking and how do we implement this in sql-server?
Software can't fix this if the underlying IO/disks are opaque to you.


If you add partitions, you won't spawn 30 threads
If all your partitions are on the same volume you'll decrease throughput


I've worked on similar systems where we had


a staging DB
SIMPLE recovery on staging
deferred deletes (eg a new or updated run is an INSERT) that run out of hours
each run has a header row to track this status
flush to real DB when client is ready


We've also


removed FKs and other tweaks to the main table
put the staging DB onto separate volumes.