Seria possível reverter uma transação usando um único thread?
Tentei encontrar uma resposta para esta pergunta, mas não consegui encontrar uma que fornecesse referências. Eu li sobre mecanismos de reversão. Veja abaixo:
Qual é o mecanismo de reversão de transações no SQL-Server?
Se você reverter a transação, o mecanismo começará a varrer o log para trás procurando registros do trabalho realizado por sua transação e desfará o trabalho: quando encontrar o registro de atualização de A para B, alterará o valor de volta para A. insert será desfeito excluindo a linha inserida. Uma exclusão será desfeita inserindo de volta a linha. Isso é descrito em Arquitetura Lógica do Log de Transação e Log de Transação Write-Ahead.
Esta é a explicação de alto nível, os detalhes internos exatos de como isso acontece não são documentados para leigos e não estão sujeitos à sua inspeção nem alterações.
Reverter uma transação leva mais tempo do que executá-la. Há várias razões para isso.
Agora, a questão é: como posso testar em vários cenários quantos recursos (single/multithreaded) são consumidos por essas operações?
Pelo que ouvi, um único segmento é reivindicado. No entanto, não consigo encontrar nenhuma evidência para apoiar essa afirmação.
Se uma operação de thread único for executada, o comportamento pode ser alterado para multi thread? Que tal o contrário?