Pour insérer une ligne et obtenir son identité, vous n'avez pas besoin de bloquer toutes les autres commandes. Utilisez simplement une transaction en combinaison avec SCOPE_IDENTITY :
BEGIN TRAN;
INSERT INTO MyTable (MyColumn)
VALUES ('MyValue');
SELECT SCOPE_IDENTITY();
COMMIT TRAN;
En savoir plus sur SCOPE_IDENTITY sur MSDN
.