Questão de Banco de Dados — SGBD - Sistema de Gerenciamento de Banco de Dados — FGV 2025
Banco de Dados›SGBD - Sistema de Gerenciamento de Banco de Dados
Código
fg108613
Banca
FGV
Órgão
DPE-RO
Ano
2025
Nível
Superior
Cargo
Analista de Redes e Comunicação de Dados - Classe B
O MS SQL Server 2022 admite o uso de diversos procedimentos armazenados.Com relação aos tipos de procedimentos armazenados e os benefícios da sua utilização, analise os itens a seguir.I. Os comandos de um procedimento armazenado são executados como um único bloco de código, reduzindo significativamente o tráfego de dados da rede entre a máquina cliente e o servidor pois ocorre uma única chamada para executar o procedimento sem esse encapsulamento de código, cada linha individual de código teria de trafegar a rede.II. Quando um aplicativo chama um procedimento armazenado através da rede, a chamada e outras informações para executar o procedimento ficarão visíveis na rede. Portanto, usuários mal-intencionados podem consultar nomes de tabelas e objetos de banco de dados, inserir instruções Transact-SQL próprias e pesquisar para obter dados críticos.III. Por padrão, um procedimento armazenado será compilado todas as vezes que for executado, mas criam-se planos de execução que podem ser reutilizados em execuções subsequentes. Como o processador de consulta não precisa criar um plano a cada execução, o tempo de processar um procedimento é reduzido. Se houver alterações significantes nas tabelas ou dados referenciados pelo procedimento armazenado, o plano de execução poderá fazer com que o procedimento execute mais lentamente. Neste caso, recompilará o procedimento e forçará um novo plano de execução para melhorar o desempenho.IV. Os tipos de procedimentos armazenados suportados pelo SGBD são: os definidos pelo usuário, os procedimentos de sistema, os temporários e as extensões definidas pelo usuário. Esse último tipo permite criar rotinas externas em uma linguagem de programação. Além disso, eles são DLLs que uma instância do MS SQL Server pode carregar e executar dinamicamente.Está correto, o que se afirma em:
AII e IV, apenas.
BII e III, apenas.
CI e IV, apenas.
DI e III, apenas.
EIII e IV, apenas.
Revelar gabarito e comentário▾
GabaritoC — I e IV, apenas.
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”.
Procedimentos Armazenados no SQL Server
Gabarito: letra C (itens I e IV corretos). O item I descreve corretamente a redução de tráfego de rede com procedimentos armazenados, e o item IV lista corretamente os tipos suportados no SQL Server. Já os itens II e III contêm erros: o II afirma falsamente que a chamada expõe detalhes internos, e o III diz que o procedimento é compilado a cada execução, o que não é verdade.
Item
Conteúdo do Item
Correto?
Motivo
I
Os comandos de um procedimento armazenado são executados como um único bloco de código, reduzindo significativamente o tráfego de dados da rede entre a máquina cliente e o servidor, pois ocorre uma única chamada para executar o procedimento; sem esse encapsulamento de código, cada linha individual de código teria de trafegar a rede.
✅ Correto
Procedimentos armazenados encapsulam múltiplos comandos em um único bloco. No SQL Server, ao executar um procedimento, o cliente envia apenas uma chamada (EXEC), e os comandos são executados no servidor. Isso reduz o tráfego de rede, evitando o envio de cada instrução SQL individualmente.
II
Quando um aplicativo chama um procedimento armazenado através da rede, a chamada e outras informações para executar o procedimento ficarão visíveis na rede. Portanto, usuários mal-intencionados podem consultar nomes de tabelas e objetos de banco de dados, inserir instruções Transact-SQL próprias e pesquisar para obter dados críticos.
❌ Incorreto
A afirmação é falsa. Procedimentos armazenados melhoram a segurança porque o usuário só precisa de permissão para executar o procedimento, não para acessar diretamente as tabelas subjacentes. O código do procedimento está no servidor e não é transmitido; a chamada é apenas uma solicitação de execução. Além disso, procedimentos ajudam a prevenir SQL injection quando usados com parâmetros.
III
Por padrão, um procedimento armazenado será compilado todas as vezes que for executado.
❌ Incorreto
No SQL Server, o plano de execução é compilado na primeira execução e, por padrão, é reutilizado em execuções subsequentes (a menos que ocorra uma recompilação automática ou forçada). A informação central de que a compilação ocorre a cada execução é falsa.
IV
(Item IV não transcrito integralmente no enunciado, mas o comentário indica que lista corretamente os tipos suportados no SQL Server)
✅ Correto
Conforme o comentário, o item IV lista corretamente os tipos de procedimentos armazenados suportados no SQL Server.
Item I — ✅ Correto
Procedimentos armazenados encapsulam múltiplos comandos em um único bloco. No SQL Server, ao executar um procedimento, o cliente envia apenas uma chamada (EXEC), e os comandos são executados no servidor. Isso reduz o tráfego de rede, pois evita o envio de cada instrução SQL individualmente. O item está perfeito.
Item II — ❌ Incorreto
A afirmação de que a chamada do procedimento fica visível na rede e que mal-intencionados podem consultar nomes de tabelas e objetos, ou injetar comandos, é falsa. Na verdade, procedimentos armazenados melhoram a segurança porque o usuário só precisa de permissão para executar o procedimento, não para acessar diretamente as tabelas subjacentes. O código do procedimento está no servidor e não é transmitido; a chamada é apenas uma solicitação de execução. Além disso, procedimentos ajudam a prevenir SQL injection quando usados com parâmetros.
Item III — ❌ Incorreto
O item começa errado: "Por padrão, um procedimento armazenado será compilado todas as vezes que for executado". No SQL Server, o plano de execução é compilado na primeira execução e, por padrão, é reutilizado em execuções subsequentes (a menos que ocorra uma recompilação automática ou forçada). A parte seguinte sobre recompilação e diminuição de desempenho é verdadeira, mas a informação central de que a compilação ocorre a cada execução é falsa. Por isso o item como um todo está incorreto.
NÃO CAIA NESSA!
O item III mescla verdades e mentiras. A banca testa o conhecimento de que planos são reutilizados por padrão, não recompilados a cada execução. Cuidado para não confundir com a recompilação automática, que ocorre apenas em situações específicas (ex.: alteração de estatísticas).
Item IV — ✅ Correto
O SQL Server suporta os seguintes tipos de procedimentos armazenados:
Definidos pelo usuário (Transact-SQL ou CLR)
De sistema (sys.sp_*)
Temporários (#proc local, ##proc global)
Extensões definidas pelo usuário (extended stored procedures, que são DLLs escritas em C/C++ e carregadas dinamicamente)
O item descreve exatamente esses tipos e destaca que as extensões são DLLs carregadas pela instância, o que está correto.
Conclusão: Estão corretos apenas os itens I e IV, portanto a alternativa letra C é o gabarito.