Pular para o conteúdo principal

Questão de Banco de Dados — Transações (Locks, ACID, etc.) — Avança SP 2024

Banco de DadosTransações (Locks, ACID, etc.)
Código
qa630767
Banca
Avança SP
Órgão
CM Itapecerica Serra
Ano
2024
Cargo
Tec ( )
Todo banco de dados do SQL Server tem um log de transações que registra todas as transações e as modificações feitas no banco de dados por cada transação. Qual o principal propósito de suas operações básicas?
  1. AReportar todas as transações para análise de custo do hardware utilizado.
  2. BDar suporte a outras ferramentas externas para reintroduzir padrões de autenticação no banco de dados
  3. CColeta de informações para reuniões administrativas sobre o uso da plataforma específica.
  4. DPrevenir falha de transações ou do sistema, incorporando dados ao seu estado original para a integridade dos dados.
  5. EExecutar um Replace das transações em caráter legislativo.
Revelar gabarito e comentário

GabaritoD — Prevenir falha de transações ou do sistema, incorporando dados ao seu estado original para a integridade dos dados.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Log de transações no SQL Server: propósito fundamental

Gabarito: letra D. O log de transações de um banco de dados tem como principal propósito garantir a integridade dos dados, permitindo que, em caso de falha de transação ou do sistema, o banco seja restaurado ao seu estado original — é exatamente isso que a alternativa D descreve. Essa função está diretamente ligada às propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade), que regem o comportamento das transações em um SGBD.

O log de transações é um arquivo sequencial que registra cada operação realizada por uma transação, antes mesmo de ela ser efetivada no banco. Ele funciona como um "diário" do banco de dados: tudo o que acontece é anotado, para que, se algo der errado, seja possível desfazer (rollback) ou refazer (redo) as operações. Esse mecanismo é a base do subsistema de recuperação do SGBD, que garante a atomicidade e a durabilidade das transações.

Para entender por que o log é tão importante, é preciso compreender as propriedades ACID. A atomicidade garante que uma transação seja tratada como uma unidade indivisível: ou todas as suas operações são executadas com sucesso (commit), ou nenhuma delas é refletida no banco (rollback). A consistência assegura que o banco passe de um estado válido para outro estado válido, respeitando todas as regras de integridade. O isolamento impede que transações concorrentes interfiram umas nas outras. E a durabilidade garante que, uma vez confirmada, a transação permaneça gravada mesmo após uma falha do sistema.

O log de transações é o instrumento que viabiliza a atomicidade e a durabilidade. Quando uma transação é iniciada, o SGBD registra no log cada operação de escrita. Se ocorrer uma falha antes do commit, o log permite desfazer as alterações parciais, restaurando o estado anterior — é o rollback. Se a transação foi confirmada (commit) mas o sistema caiu antes de gravar os dados no disco, o log permite refazer as operações — é o redo. Em ambos os casos, o objetivo é o mesmo: manter a integridade dos dados, levando o banco de volta a um estado consistente.

Um exemplo clássico é a transferência bancária: debitar R$ 100 da conta A e creditar R$ 100 na conta B. Se o sistema falhar após debitar A, mas antes de creditar B, o log registra a operação incompleta. Ao reiniciar, o SGBD usa o log para desfazer o débito, restaurando o saldo original de A. Sem o log, o banco ficaria em um estado inconsistente, com o dinheiro "sumindo" da conta A sem chegar à conta B.

A pegadinha desta questão está em confundir o propósito do log com funções administrativas, de auditoria ou de ferramentas externas. O log não existe para relatórios de custo, reuniões administrativas ou autenticação — ele existe para garantir a recuperação de falhas e a integridade dos dados. Guarde essa distinção: o log é um mecanismo técnico de recuperação, não uma ferramenta de gestão ou segurança.

  1. 1Transação inicia
  2. 2Operações registradas no log
  3. 3Falha antes do commit
  4. 4Rollback (desfaz parcial)
  5. 5Estado original restaurado
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma que o log serve para "reportar todas as transações para análise de custo do hardware utilizado". Isso não corresponde à função do log. O log registra operações de dados para fins de recuperação, não para análise de custo de hardware. A banca tenta confundir o candidato associando o log a uma finalidade administrativa/financeira, que não existe.

Alternativa B — ❌ Incorreta

Diz que o log serve para "dar suporte a outras ferramentas externas para reintroduzir padrões de autenticação no banco de dados". O log não tem relação com autenticação. Autenticação é um mecanismo de segurança que verifica a identidade de usuários, controlado pelo SGBD de forma independente do log de transações. A banca mistura conceitos de segurança com recuperação de dados.

Alternativa C — ❌ Incorreta

Afirma que o log serve para "coleta de informações para reuniões administrativas sobre o uso da plataforma específica". Novamente, uma finalidade administrativa que não corresponde à função técnica do log. O log não é uma ferramenta de monitoramento de uso ou de gestão; é um mecanismo de recuperação de falhas.

Alternativa D — ✅ Correta ⟵ GABARITO

Esta é a alternativa correta. O log de transações existe para "prevenir falha de transações ou do sistema, incorporando dados ao seu estado original para a integridade dos dados". Isso descreve exatamente a função de recuperação: em caso de falha, o log permite restaurar o banco ao estado consistente anterior, garantindo a integridade. Essa é a essência das propriedades de atomicidade e durabilidade do ACID.

Alternativa E — ❌ Incorreta

Diz que o log serve para "executar um Replace das transações em caráter legislativo". Essa alternativa é claramente absurda e sem sentido técnico. "Replace" e "caráter legislativo" não têm relação alguma com banco de dados ou log de transações. É um distrator que testa se o candidato conhece o mínimo do assunto.

NÃO CAIA NESSA!

A banca tenta induzir o candidato a associar o log de transações a funções administrativas (custos, reuniões, autenticação) em vez de sua função técnica real. O log é um mecanismo de recuperação de falhas, não uma ferramenta de gestão. Lembre-se: log = recuperação e integridade, nada mais.

PEGA ESSA DICA!

Para questões sobre log de transações, foque nas propriedades ACID. O log é o instrumento que garante a atomicidade (rollback de transações incompletas) e a durabilidade (redo de transações confirmadas). Se a alternativa mencionar custo, reunião, autenticação ou qualquer função administrativa, descarte-a imediatamente.

Gabarito: letra D

Link permanente: /questoes/qa630767