O SQL Server Profiler é utilizado para realizar auditoria em servidores SQL Server a partir do rastreamento de atividades. Durante um rastreamento, os dados capturados são armazenados em uma tabela, em que cada linha representa uma requisição (query) e cada coluna apresenta informações sobre as requisições.
Durante uma auditoria no sistema de banco de dados do TCE de Roraima, uma requisição (query) capturada pelo SQL Server Profiler retornou os seguintes dados:
Com relação aos dados dessa requisição, assinale a afirmativa correta.
AO programa que está rodando o SQL Server Profiler é o Microsoft SQL Server Management Studio.
BO usuário que está realizando a auditoria possui login DBA_TI_TCERR.
CO banco de dados executou o comando INSERT.
DA execução teve uma duração de 45,219 milissegundos.
EA máquina que executou a requisição é AUD01_TCERR.
Revelar gabarito e comentário▾
GabaritoE — A máquina que executou a requisição é AUD01_TCERR.
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”.
SQL Server Profiler: interpretando os dados de um rastreamento
Gabarito: letra E. A coluna HostName do SQL Server Profiler identifica o nome da máquina cliente que enviou a requisição ao servidor — no caso, AUD01_TCERR. As demais alternativas confundem o significado de outras colunas do rastreamento, como ApplicationName, LoginName e Duration.
O SQL Server Profiler é uma ferramenta de auditoria e diagnóstico que captura eventos que ocorrem em uma instância do SQL Server. Cada evento capturado gera uma linha na tabela de rastreamento, e cada coluna dessa linha descreve um aspecto da atividade. Para interpretar corretamente um rastreamento, é essencial conhecer o significado de cada coluna. As principais colunas presentes no enunciado são:
EventClass: identifica o tipo de evento capturado. SQL:BatchCompleted indica que um lote de comandos SQL (uma ou mais instruções enviadas de uma vez) terminou de ser executado com sucesso.
ApplicationName: nome do aplicativo cliente que enviou a requisição. No caso, Microsoft SQL Server Management Studio — ou seja, a requisição foi feita pelo SSMS, não pelo Profiler.
LoginName: identidade de login usada para conectar ao SQL Server. O valor MicrosoftAccount\[email protected] indica um login do tipo conta Microsoft (Azure AD), não um login local do SQL Server.
CPU: tempo de CPU (em milissegundos) consumido pela execução da requisição no servidor.
Reads: número de páginas de dados lidas do disco ou da memória durante a execução.
Writes: número de páginas de dados gravadas.
Duration: tempo total de duração da execução, em microssegundos (não milissegundos). O valor 45219 corresponde a 45,219 milissegundos.
DatabaseName: nome do banco de dados onde a requisição foi executada.
HostName: nome da máquina cliente de onde a requisição foi enviada. É exatamente isso que a alternativa E afirma.
A pegadinha central desta questão está na coluna Duration: muitos candidatos assumem que o valor está em milissegundos, mas o SQL Server Profiler reporta a duração em microssegundos. Além disso, há a confusão entre ApplicationName (quem enviou a requisição) e o próprio Profiler (quem está capturando), e entre LoginName (a identidade usada para conectar) e o usuário que está realizando a auditoria.
Para fixar o significado de cada coluna, veja a tabela comparativa:
Guarde a distinção entre ApplicationName (quem enviou), LoginName (quem se autenticou) e HostName (de qual máquina veio): é exatamente nessa fronteira que as alternativas se dividem.
Colunas do SQL Server Profiler: Origem da requisição (HostName: máquina cliente, ApplicationName: aplicativo que enviou, LoginName: identidade de conexão); Medidas de desempenho (CPU: milissegundos, Duration: microssegundos, Reads/Writes: páginas lidas/gravadas); Contexto (EventClass: tipo de evento, DatabaseName: banco executado)
Alternativa A — ❌ Incorreta
Afirma que o programa que está rodando o SQL Server Profiler é o Microsoft SQL Server Management Studio. A coluna ApplicationName indica o aplicativo que enviou a requisição ao servidor, não o programa que está executando o Profiler. O Profiler é uma ferramenta separada; o SSMS é apenas o cliente que originou a query. A banca troca o papel das ferramentas: o Profiler captura, o SSMS envia.
Alternativa B — ❌ Incorreta
Afirma que o usuário que está realizando a auditoria possui login DBA_TI_TCERR. A coluna LoginName mostra a identidade usada para conectar ao SQL Server, que é MicrosoftAccount\[email protected] — um login de conta Microsoft, não um login local. Além disso, o usuário que realiza a auditoria é quem opera o Profiler, e essa informação não está no rastreamento. A alternativa confunde o login de conexão com o operador da ferramenta.
Alternativa C — ❌ Incorreta
Afirma que o banco de dados executou o comando INSERT. O evento SQL:BatchCompleted indica que um lote de comandos foi concluído, mas não especifica qual comando foi executado — poderia ser SELECT, UPDATE, DELETE, DDL, etc. A coluna EventClass não traz essa informação. A alternativa faz uma suposição sem base nos dados fornecidos.
Alternativa D — ❌ Incorreta
Afirma que a execução teve duração de 45,219 milissegundos. O valor 45219 na coluna Duration está em microssegundos, não em milissegundos. Para converter para milissegundos, divide-se por 1000: 45219 µs = 45,219 ms. A alternativa apresenta o valor em milissegundos como se fosse o valor bruto, ignorando a unidade de medida da coluna.
Alternativa E — ✅ Correta ⟵ GABARITO
Afirma que a máquina que executou a requisição é AUD01_TCERR. A coluna HostName do SQL Server Profiler registra exatamente o nome da máquina cliente de onde a requisição foi enviada. O valor AUD01_TCERR corresponde a essa máquina, confirmando a afirmativa.
NÃO CAIA NESSA!
A banca explora a unidade de medida da coluna Duration — o candidato que assume que o valor está em milissegundos marca a alternativa D, mas o Profiler reporta em microssegundos. Além disso, há a troca entre ApplicationName (quem enviou) e o Profiler (quem captura), e entre LoginName (quem se autenticou) e o operador da auditoria. Com treino, você identifica essas trocas de longe 💪
PEGA ESSA DICA!
Para questões de rastreamento, decore o significado das colunas principais: HostName = máquina de origem, ApplicationName = aplicativo cliente, LoginName = identidade de conexão, Duration = microssegundos, CPU = milissegundos. Se a alternativa falar de "duração", verifique sempre a unidade — é o distrator mais comum.