Currently, I am working on a server on a client's network. Client has the policy of nightly dbcc checkdb and log back up, and weekly a database shrink on all databases in their network. Whatever you might think of those policies, those are the circumstances of my job. The time of day(night) the client runs those commands is exactly the time when we want to run our software. Our software run consists of emptying out the entire database, and reloading data, and lots and lots of selecting and inserting from/into tables. This concerns many millions of rows, and a couple of 100's gb. Naturally, our job and clients policies clash, and we get regular blocks. When I inspect the run and find a block, I kill the shrink or dbcc command to let our run finish. So far client has not objected. So, I very much see the merit in asking such a question. I too, wanted to block interfering commands. I wrote a little c# program to do the job (currently just a poc). I'll try to post some code next week (on mobile now), but the gist is simple: set up an xEvent on dbcc commands (I forgot which was the one, but if you search on dbcc there are only 3 options, all for dbcc check*, for a shrink you may need another xEvent). Then you can write a c# application that captures the event and its session_id and Kill it.