Pular para o conteúdo principal

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

Banco de DadosSQL Server
Código
fg063601
Banca
FGV
Órgão
DPE-RS
Ano
2023
Nível
Superior
Cargo
Analista - Área de Apoio Especializado - Tecnologia da Informação - Banco de Dados
Depois de assumir uma função de gestão dos bancos de dados SQL Server, João decidiu levantar os logins correntes na sua instalação.Para tanto, com seu login “sa” executou o comando:
  1. Aselect * from dba.logins
  2. Bselect * from information_schema.login
  3. Cselect * from master..logins
  4. Dselect * from sys.syslogins
  5. Eselect * from system
Revelar gabarito e comentário

GabaritoD — select * from sys.syslogins

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: Consulta de logins

Gabarito: letra D. Para listar os logins correntes em uma instalação SQL Server, a visão de sistema apropriada é sys.syslogins, localizada no banco de sistema master. Essa view contém informações sobre todos os logins do servidor, acessível por usuários com privilégios elevados (como sa).

A questão testa o conhecimento sobre as visões de catálogo do SQL Server, especificamente aquelas relacionadas à segurança. As demais alternativas utilizam nomes ou caminhos inexistentes ou incorretos.

Alternativa A — ❌ Incorreta

select * from dba.logins – Não existe uma visão ou tabela chamada dba.logins no SQL Server. O esquema DBA não é padrão do sistema; essa nomenclatura é comum em outros bancos (como Oracle), mas não se aplica aqui.

Alternativa B — ❌ Incorreta

select * from information_schema.login – O esquema INFORMATION_SCHEMA fornece visões padrão do SQL (como TABLES, COLUMNS), mas não há uma visão chamada LOGIN. As informações de logins não fazem parte do padrão INFORMATION_SCHEMA.

Alternativa C — ❌ Incorreta

select * from master..logins – A sintaxe master..logins faz referência a uma tabela chamada logins no banco master, mas essa tabela não existe. O caminho correto para a view de logins é master.sys.syslogins ou simplesmente sys.syslogins quando conectado ao banco master.

Alternativa D — ✅ Correta ⟵ GABARITO

select * from sys.syslogins – Esta é a view de compatibilidade do SQL Server que retorna uma linha para cada login no servidor. Ela está no esquema sys e é uma das formas tradicionais de obter informações de logins. Apesar de ser uma view de compatibilidade (substituída por sys.server_principals), ainda é válida e amplamente utilizada.

Alternativa E — ❌ Incorreta

select * from system – Não existe uma visão ou tabela chamada system no SQL Server. Pode confundir com o esquema sys, mas a grafia está incorreta.

PEGA ESSA DICA!

No SQL Server, as principais fontes de metadados de segurança são:

  • sys.syslogins (compatibilidade) – logins do servidor;

  • sys.server_principals (moderna) – logins e grupos;

  • sys.sql_logins – apenas logins SQL;

  • sys.database_principals – usuários do banco.

Memorize que a view sys.syslogins está em master e é acessível com permissões de sysadmin.

Link permanente: /questoes/fg063601