Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. Assinale a alternativa INCORRETA sobre os modos de bloqueio no SQL Server. a) Quando uma transação faz um UPDATE em um conjunto de linhas de uma tabela, somente as chaves correspondentes às linhas atualizadas são bloqueadas com modo U e, tanto a tabela quanto as páginas de dados que contêm as linhas atualizadas, ganham bloqueio IU. b) Quando uma transação faz um DELETE em um conjunto de linhas de uma tabela, as chaves correspondentes às linhas atualizadas são bloqueadas com modo X e tanto a tabela quanto as páginas de dados que contêm as linhas atualizadas ganham bloqueio IX. c) Quando uma transação faz um SELECT em um conjunto de linhas de uma tabela, as chaves correspondentes às linhas lidas são bloqueadas com modo S, impedindo que outras atualizações coloquem um bloqueio X para atualizá- las. d) Quando uma transação faz um ALTER TABLE em uma tabela, toda a tabela é bloqueada em modo Sch-M, impedindo inclusive que SELECTs sejam executados para recuperar dados da tabela. Gabarito A resposta correta é a letra A. Quando uma transação faz um UPDATE em um conjunto de linhas de uma tabela, as chaves correspondentes às linhas que serão atualizadas são bloqueadas com modo U até que sejam recuperadas. Depois, ganham bloqueio X para serem efetivamente atualizadas 2. Relacione as colunas a seguir sobre as principais anomalias decorrentes da execução simultânea de transações no SQL Server. Leitura fantasma1 Atualização perdida 2 Leitura não repetível3 Leitura suja4 a) Nova linha inserida entre duas leituras 1234 b) Leitura de um dado revertido 1234 c) Leitura de dados diferentes nas mesmas linhas 1234 d) Dado substituído por outra transação 1234 Gabarito Gabarito De cima para baixo: A, D, C e B. Quando uma nova linha é inserida entre duas leituras, temos uma leitura fantasma. Quando uma transação lê um dado e ele é posteriormente revertido, temos uma leitura suja. Quando duas leituras seguidas dentro de uma transação leem dados diferentes, temos uma leitura não repetível. E, quando um dado atualizado em uma transação é atualizado por outra transação concorrente, temos uma atualização perdida. 3. Um dos usuários informa que a consulta que ele submeteu está demorando muito. Qual das ferramentas a seguir pode dar rapidamente a você uma pista sobre o que está acontecendo com a consulta do usuário? a) Activity Monitor b) Waiting Tasks c) Performance Monitor d) Blocking Tree A resposta correta é a letra B. Note que há um problema de desempenho localizado em uma consulta de usuário. Entre as ferramentas listadas, aquela que pode lhe dar uma dica é a Waiting Tasks. A consulta do usuário pode estar em espera por algum recurso e a view sys.dm_os_waiting_tasks mostrará rapidamente a você o porquê.
Compartilhar