Eu acho que está bom em algumas circunstâncias, desde que você aceite as consequências e não tenha outras opções.
Para outras opções, eu incentivaria as pessoas a usar o RCSI (Read Committed Snapshot Isolation) para novos aplicativos ou o SNAPSHOT ISOLATION (SI) para aplicativos mais antigos, onde você não pode testar facilmente toda a base de códigos para condições de corrida com RCSI.
No entanto, esses podem não ser um bom ajuste. Pode ser necessário gastar um tempo extra amando e cuidando do tempdb e garantindo que ninguém deixe uma transação aberta que faça com que o armazenamento de versões (e o tempdb) cresça e encha o disco.
Se você não possui um DBA ou alguém cujo trabalho é monitorar e gerenciar seu SQL Server, essas opções podem ser perigosas. De maneira mais geral, nem todos têm controle total do código acessando o servidor, onde podem alterar a cadeia de conexão ou o código para solicitar a SI para consultas de problemas.
Além disso, a maioria das pessoas não tem problemas de bloqueio com todo o aplicativo . Eles têm problemas com coisas como relatórios sobre dados OLTP. Se você puder aceitar as compensações do NOLOCK / RU em troca de os relatórios não serem bloqueados pelos escritores, faça isso.
Apenas certifique-se de entender o que isso significa. Isso não significa que sua consulta não aceita bloqueios, mas não respeita os bloqueios removidos por outras consultas.
E, claro, se o seu problema for o bloqueio de gravador / gravador, a única opção que ajudará é o SI, mas seria necessário uma quantidade incrível de trabalho do desenvolvedor para implementá-lo adequadamente com o tratamento de erros, etc.