Filtrar


Questões por página:
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, é:
Considere o contexto a seguir:
Em um sistema bancário, um cliente realiza uma transferência de R$ 500,00 da conta A para a conta B. No sistema, essa operação envolve duas instruções em Linguagem SQL: a primeira realiza o débito na conta A, enquanto a segunda realiza o crédito na conta B. Ambas as instruções são executadas dentro de uma transação. Nesse contexto, considere as sentenças a seguir sobre os níveis de isolamentos nesse processo de transferência:

I- Caso o nível de isolamento da transação de transferência seja repeatable read, o saldo da conta B irá variar entre duas consultas na mesma transação.

II- Caso o nível de isolamento da transação de transferência seja serializable, a execução sequencial completa das transações será simulada, evitando todos os tipos de anomalias, incluindo phantom reads.

III- Caso o nível de isolamento da transação de transferência seja read committed, ele garante que uma transação sempre verá a mesma versão dos dados durante toda a sua execução, impedindo non-repeatable reads.

IV- Caso o nível de isolamento da transação de transferência seja read uncommitted, uma transação pode ler o saldo de uma conta mesmo que a outra transação ainda não tenha finalizado o commit, possibilitando dirty reads.


Assinale a alternativa com as sentenças CORRETAS sobre o cenário apresentado.

Um rótulo de tempo é um identificador exclusivo para cada transação, gerado pelo sistema. Os valores de rótulos de tempo são gerados na mesma ordem que os tempos de início e fim das transações. Qual é o protocolo de controle de concorrência que utiliza ordenação por rótulo de tempo para garantir a serialização das transações?