Não. Nem pense nisso. Você matará qualquer desempenho e simultaneidade que tiver.
Você precisa descobrir por que está tendo valores de PK duplicados. Se você deixar isso para o próprio banco de dados lidar, usando uma coluna INT IDENTITY por exemplo, você não precisa se preocupar com nada, realmente. O SQL Server cuidará de garantir que esses valores sejam sempre garantidos como exclusivos.
Então, realmente, a recomendação é:re-arquitete sua solução e deixe o banco de dados lidar com a exclusividade dos IDs - então você não precisará de nenhum bloqueio ou qualquer coisa.