I have a search function set up, where I run multiple queries simultaneously. The top 1000 results of each query are written to a table. (These run async--I am just leaving out
insert into #tt2 SELECT TOP 1000 [sID] FROM [docSVsys] where (select count(*) from #tt2) < 1000
But I would still use .NET and TPL.
This will still process all tables but it should process 0 rows once it gets to 1000