Vidas úteis de transação
Aplica-se a: SQL Server
Há uma diferença importante entre as transações iniciadas em procedimentos armazenados Transact-SQL e aquelas iniciadas em código gerenciado: o código CLR (Common Language Runtime) não pode desequilibrar o estado da transação na entrada ou saída de uma invocação CLR. Esteja ciente das seguintes implicações dessa diferença:
Uma transação iniciada dentro de um quadro CLR deve ser confirmada ou revertida, caso contrário, o SQL Server gerará um erro quando o quadro for encerrado.
Uma transação externa não pode ser confirmada ou revertida no código CLR.
Uma tentativa de confirmar uma transação não iniciada no mesmo procedimento causa um erro em tempo de execução.
Uma tentativa de reverter uma transação não iniciada no mesmo procedimento faz com que a transação pare de responder (impedindo que qualquer outra operação de efeito colateral aconteça). A transação é descontinuada até que o código CLR saia do escopo. Observe que isso pode ser útil quando você detecta um erro em seu procedimento e deseja verificar se a transação inteira é finalizada.
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de