O administrador de uma instalação MS SQL Server detectou a ...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
O gabarito correto é a alternativa D. A questão trata da identificação de sessões e transações que estão demorando mais que o esperado em um ambiente de MS SQL Server. O conhecimento necessário para resolver esta questão envolve entender as Dynamic Management Views (DMVs) e Dynamic Management Functions (DMFs) do SQL Server, que são ferramentas administrativas que fornecem informações sobre o estado do servidor SQL, permitindo monitorar a saúde do servidor, diagnosticar problemas e otimizar o desempenho.
As DMVs e DMFs retornam informações de servidor que podem ser usadas para monitorar o estado de um servidor de banco de dados e para ajustar o desempenho. A DMV sys.dm_exec_sessions é usada para retornar informações sobre todas as sessões ativas no servidor SQL Server. Por sua vez, a DMV sys.dm_exec_connections fornece informações sobre as conexões de banco de dados em um servidor SQL Server.
A alternativa D está correta porque ela faz uso dessas duas DMVs, juntando-as com o JOIN na coluna session_id, que é comum a ambas. Isso fornece uma visualização abrangente das sessões atuais, suas conexões e os detalhes relevantes como host_name, program_name, nt_domain, login_name, connect_time e last_request_end_time. Essas informações são cruciais para identificar a sessão que está executando a transação de longa duração e tomar a ação de emitir o comando KILL de forma segura.
O uso do comando KILL deve ser feito com cautela, pois ele vai terminar a sessão especificada e todas as transações associadas a essa sessão serão revertidas. Um entendimento claro das sessões ativas e suas transações é essencial antes de executar tal comando, para evitar a interrupção de processos legítimos e importantes que podem estar ocorrendo no servidor.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
A meu ver essa questão está equivocada pois as tabelas sys.dm_exec_sessions e sys.dm_exec_connections não tem informações sobre transações.
O correto seria usar uma das seguintes tabelas:
sys.dm_tran_active_transactions
sys.dm_tran_database_transactions
sys.dm_tran_session_transactions
Fonte: https://docs.microsoft.com/pt-br/sql/relational-databases/system-dynamic-management-views/transaction-related-dynamic-management-views-and-functions-transact-sql?view=sql-server-2017
https://docs.microsoft.com/pt-br/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-sessions-transact-sql?view=sql-server-2017
https://docs.microsoft.com/pt-br/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-connections-transact-sql?view=sql-server-2017
a meu ver essa questão é um absurdo, cobrar que a gente saiba as DMVs, nome por nome, sendo que como eu sempre repito e não canso: NÃO HÁ APENAS SQL SERVER NO EDITAL!!!
Acho que se juntar o edital todo de uma prova de Promotor, ainda sim não chega perto da soma do Manual dos BD´s juntos kkkkkk
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo