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
.