Pular para o conteúdo principal

Questão de Banco de Dados — Gerência de Transações — FGV 2025

Banco de DadosGerência de Transações
Código
fg104516
Banca
FGV
Órgão
AL-AM
Ano
2025
Nível
Superior
Cargo
Analista Legislativo - Analista de Redes de Comunicação de Dados
No SQL Server, para resolver problemas de concorrência em ambiente de alta carga transacional, um DBA precisa escolher o nível de isolamento adequado.O nível que permite leitura de dados não confirmados de outras transações, potencialmente causando dirty reads, é:
  1. AREAD UNCOMMITTED.
  2. BREAD COMMITTED.
  3. CREPEATABLE READ.
  4. DSERIALIZABLE.
  5. ESNAPSHOT.
Revelar gabarito e comentário

GabaritoA — READ UNCOMMITTED.

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”.

Níveis de isolamento no SQL Server

Gabarito: letra A — READ UNCOMMITTED. O nível de isolamento READ UNCOMMITTED permite que uma transação leia dados ainda não confirmados (não commitados) por outras transações, o que pode causar o fenômeno de dirty read (leitura suja). Esse é o nível mais baixo de isolamento, priorizando performance sobre consistência.

A banca cobra o conhecimento dos níveis de isolamento definidos pelo padrão SQL e implementados no SQL Server. A tabela a seguir resume os fenômenos permitidos em cada nível:

Nível de Isolamento

Dirty Read

Non-repeatable Read

Phantom Read

READ UNCOMMITTED

✅ (permitido)

READ COMMITTED

❌ (impedido)

REPEATABLE READ

SERIALIZABLE

Alternativa A — ✅ Correta ⟵ GABARITO

READ UNCOMMITTED é o único nível que não impede leituras sujas, permitindo que uma transação leia dados não confirmados. É útil em cenários onde a precisão absoluta não é crítica e a performance é priorizada.

Alternativa B — ❌ Incorreta

READ COMMITTED impede dirty reads, garantindo que a transação leia apenas dados confirmados. É o padrão no SQL Server.

Alternativa C — ❌ Incorreta

REPEATABLE READ impede dirty reads e non-repeatable reads, mas permite phantom reads.

Alternativa D — ❌ Incorreta

SERIALIZABLE impede todos os três fenômenos, fornecendo o mais alto nível de isolamento.

Alternativa E — ❌ Incorreta

SNAPSHOT é um nível de isolamento baseado em versões de linha que também impede dirty reads, mas pode ter outros comportamentos. Não permite dirty reads.

PEGA ESSA DICA!

Memorize a tabela de níveis de isolamento e os fenômenos que cada um permite. A banca adora perguntar qual nível permite dirty read – a resposta é sempre READ UNCOMMITTED.

Gabarito: letra A.

Link permanente: /questoes/fg104516