Hola que tal, bueno el Begin Transaction lo que hace es un bloque en el servidor para que el pueda realizar una accion y en ese tiempo el servidor sera ocupado por dicha transaccion.
Yo te recomendaria, aunque suene algo monotono, usa SP lo cual te facilita mas la vida y no tienes que hacer mucha carga de codigo en el fuente.
Una cosas, una vez que creaste el BEGIN TRANSACTION T1 ( en SQL ), tiene que haber un COMMIT TRANSACTION T1 o ROLLBACK TRANSACTION T1, esto es por que sino la transaccion sigue retenida y no puede hacer nada mas.
El T1 es un alias