Pular para o conteúdo principal

Questão de Banco de Dados — SQL Server — FGV 2023

Banco de DadosSQL Server
Código
fg063598
Banca
FGV
Órgão
DPE-RS
Ano
2023
Nível
Superior
Cargo
Analista - Área de Apoio Especializado - Tecnologia da Informação - Banco de Dados
O comando correto de administração numa instalação SQL Server que concede a permissão de execução de uma stored procedure X num esquema (schema) Y para um papel (role) Z é:
  1. AALLOW EXECUTE(X) FOR Y.Z;
  2. BCALL EXECUTE_PERMISSION X(Y.X);
  3. CFOR X IN Y ALLOW EXECUTE TO Z;
  4. DGRANT EXECUTE ON OBJECT::Y.X TO Z;
  5. EGRANT USER Z EXEC X UNDER Y.
Revelar gabarito e comentário

GabaritoD — GRANT EXECUTE ON OBJECT::Y.X TO Z;

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”.

Comando GRANT EXECUTE no SQL Server

Gabarito: letra D. No SQL Server, a concessão de permissão de execução de uma stored procedure utiliza o comando GRANT EXECUTE ON OBJECT::schema.procedure TO role. A alternativa D reproduz exatamente essa sintaxe: GRANT EXECUTE ON OBJECT::Y.X TO Z;, sendo a única correta.

A questão testa o conhecimento da sintaxe DCL (Data Control Language) específica do SQL Server. As demais alternativas usam comandos ou estruturas que não existem no Transact-SQL.

Alternativa A — ❌ Incorreta

ALLOW EXECUTE(X) FOR Y.Z; – A palavra-chave ALLOW não é um comando SQL válido. Não existe cláusula ALLOW EXECUTE no SQL Server.

Alternativa B — ❌ Incorreta

CALL EXECUTE_PERMISSION X(Y.X);CALL é usado para chamar procedimentos, não para conceder permissões. A combinação EXECUTE_PERMISSION não é uma instrução reconhecida.

Alternativa C — ❌ Incorreta

FOR X IN Y ALLOW EXECUTE TO Z; – Sintaxe completamente fora do padrão SQL. FOR X IN Y não faz parte de nenhum comando de permissão.

Alternativa D — ✅ Correta ⟵ GABARITO

GRANT EXECUTE ON OBJECT::Y.X TO Z; – Esta é a forma correta no SQL Server:

  • GRANT EXECUTE concede permissão para executar o objeto.

  • ON OBJECT::Y.X especifica o schema (Y) e o objeto (stored procedure X).

  • TO Z define o papel (role) que recebe a permissão.

Alternativa E — ❌ Incorreta

GRANT USER Z EXEC X UNDER Y; – A sintaxe correta não inclui a palavra USER antes do destinatário, nem a cláusula UNDER. O comando seria GRANT EXECUTE ON X TO Z;, mas mesmo assim sem o schema.

Conclusão: A única alternativa que segue a sintaxe oficial do SQL Server para conceder permissão de execução de uma stored procedure é a letra D.

PEGA ESSA DICA!

Decore a estrutura padrão de GRANT no SQL Server: GRANT permissão ON [tipo::]objeto TO destinatário. Para procedures, o tipo pode ser OBJECT:: ou PROCEDURE:: (ambos funcionam). A prática de resolver questões de sintaxe ajuda a fixar esses comandos.

Link permanente: /questoes/fg063598