///
Considerando o gerenciamento de transações em Banco de Dados, temos as seguintes afirmativas:
I. As transações têm as propriedades ACID de atomicidade, consistência (correção), isolamento e durabilidade. O gerenciamento de transações é a tarefa de supervisionar a execução de transações de tal modo que se possa, de fato, garantir que elas têm essas importantes propriedades (exceto pela correção!). Com efeito, a finalidade geral do sistema poderia ser definida como a execução confiável de transações.
II. As transações são iniciadas por BEGIN TRANSACTION e terminadas por COMMIT (término bem sucedido) ou por ROLLBACK (término malsucedido). Um COMMIT estabelece um ponto de COMMIT (as atualizações são registradas no banco de dados); um ROLLBACK rola o banco de dados para trás, até o ponto de COMMIT anterior (as atualizações são desfeitas). Se uma transação atingir o término planejado, o sistema forçará a execução de um ROLLBACK para ela (recuperação de transações).
III. Os sistemas que permitem a interação de transações com dois ou mais gerenciadores de recursos - por exemplo, dois SGBDs diferentes, ou um SGBD e um gerenciador DC - devem usar um protocolo chamado COMMIT de duas fases (ou alguma variante deste) se tiverem de manter a propriedade de atomicidade de transações. As duas fases são (a) a fase de preparação, na qual o coordenador instrui todos os participantes a "ficarem prontos a irem para qualquer lado", e (b) a fase de COMMIT, na qual - supondo-se que todos os participantes responderam satisfatoriamente durante a fase preparação - o coordenador instrui todos os participantes a efetuarem o ROLLBACK (ou, caso contrário, o COMMIT).
IV. A atividade de recuperação do sistema é executada como parte do procedimento de reinicialização do sistema (algumas vezes conhecido como procedimento de reinicialização/recuperação). O sistema descobre qual trabalho deve ser refeito e qual trabalho deve ser desfeito examinando o registro de checkpoint mais recente. Os registros de checkpoint são gravados no log a intervalos predeterminados.
V. A instrução START TRANSACTION da SQL permite ao usuário especificar o modo de acesso e o nível de isolamento para a transação.
Acerca das afirmativas acima, podemos afirmar que: