A lista de níveis de isolamento no SQL Server encontrada aqui afirma que os bloqueios de gravação adquiridos em uma transação são retidos até o final da transação. No entanto, não menciona nada sobre quando esses bloqueios são adquiridos.
Os bloqueios são adquiridos por padrão no início de uma transação ou apenas quando são necessários? Se o último for verdadeiro, seria vantajoso em grandes transações executar as operações de gravação o mais tarde possível para minimizar a quantidade de tempo que os bloqueios X são mantidos?