Hi Erland,
You are right, our application suite runs at local servers at the customer site. It is an ERP solution for companies that produce "one of a kind" products specifically engineered for their customers. I thought I could script the whole thing. And if we use a pool with minimal resources, I thought these queries would be slow, but normal queries would hardly have less resources. But as I understand you, this isn't the way to go.
Another idea is to kill these "number queries" if they run to long (say over a second) and/or to let them run with MAX_DOP = 1 (but in that case they still can grab all cache/tempdb/IO band width). And also, you need a mechanism to no which spid to KILL and make sure this spid is still used for a "number query". If the "number query" is ready just after you look up the spid, and this spid is given to another process, you kill the wrong process.
I also thought about using "SET LOCK_TIMEOUT <x>" and using "<WITH NOLOCK>" for the number queries.
What I really would like to do (and already did) is telling the management this isn't a good idea. But they didn't take no for an answer.
What would you recommend?
By the way, thank you for coming to the rescue again.