As 50 principais perguntas e respostas da entrevista do SQL Server (2026)

Aqui estão as perguntas e respostas da entrevista do SQL Server para candidatos mais novos e experientes para conseguir o emprego dos sonhos.

Perguntas e respostas da entrevista do SQL Server para calouros


1. Quais são os dois modos de autenticação no SQL Server?

Existem dois modos de autenticação –

  • Windows Moda
  • Modo misto

Os modos podem ser alterados selecionando o menu de ferramentas das propriedades de configuração do SQL Server e escolhendo a página de segurança.

👉 Download gratuito de PDF: Perguntas e respostas da entrevista do SQL Server


2. O que é SQL Profiler?

SQL Profiler é uma ferramenta que permite ao administrador do sistema monitorar eventos no servidor SQL. Isso é usado principalmente para capturar e salvar dados sobre cada evento de um arquivo ou tabela para análise.


3. O que é procedimento armazenado recursivo?

O SQL Server oferece suporte a procedimentos armazenados recursivos que chamam sozinhos. O procedimento armazenado recursivo pode ser definido como um método de resolução de problemas em que a solução é alcançada repetidamente. Pode aninhar até 32 níveis.

CREATE PROCEDURE [dbo].[Fact]
(
@Number Integer,
@RetVal Integer OUTPUT
)
AS
DECLARE @In Integer
DECLARE @Out Integer
IF @Number != 1
BEGIN
SELECT @In = @Number – 1
EXEC Fact @In, @Out OUTPUT - Same stored procedure has been called again(Recursively)
SELECT @RetVal = @Number * @Out
END
ELSE
BEGIN
SELECT @RetVal = 1
END
RETURN
GO

4. Quais são as diferenças entre tabelas temporárias locais e globais?

  • As tabelas temporárias locais ficam visíveis quando há uma conexão e são excluídas quando a conexão é encerrada.
CREATE TABLE #<tablename>
  • As tabelas temporárias globais são visíveis para todos os usuários e são excluídas quando a conexão que as criou é encerrada.
CREATE TABLE ##<tablename>

5. O que é restrição CHECK?

Uma restrição CHECK pode ser aplicada a uma coluna de uma tabela para limitar os valores que podem ser colocados em uma coluna. A restrição de verificação é para impor a integridade.


6. Os servidores SQL podem ser vinculados a outros servidores?

Servidor SQL pode ser conectado a qualquer banco de dados que possua provedor OLE-DB para fornecer um link. Exemplo: Oracle possui provedor OLE-DB que possui link para conectar-se ao grupo de servidores SQL.


7. O que é subconsulta e suas propriedades?

Uma subconsulta é uma consulta que pode ser aninhada dentro de uma consulta principal, como instruções Select, Update, Insert ou Delete. Isso pode ser usado quando a expressão é permitida. Propriedades da subconsulta podem ser definidas como

  • Uma subconsulta não deve ter cláusula order by
  • Uma subconsulta deve ser colocada no lado direito do operador de comparação da consulta principal
  • Uma subconsulta deve ser colocada entre parênteses porque precisa ser executada primeiro, antes da consulta principal
  • Mais de uma subconsulta pode ser incluída

8. Quais são os tipos de subconsulta?

Existem três tipos de subconsulta –

  • Subconsulta de linha única que retorna apenas uma linha
  • Subconsulta de múltiplas linhas que retorna múltiplas linhas
  • Subconsulta de múltiplas colunas que retorna múltiplas colunas para a consulta principal. Com o resultado da subconsulta, a consulta principal será executada.

9. O que é agente SQL Server?

O agente SQL Server desempenha um papel vital nas tarefas diárias do administrador do SQL Server (DBA). O objetivo do agente servidor é implementar as tarefas facilmente com o mecanismo do agendador que permite que nossos trabalhos sejam executados em data e hora agendadas.


10. O que são tarefas agendadas no SQL Server?

Tarefas ou trabalhos agendados são usados ​​para automatizar processos que podem ser executados em um horário agendado em intervalos regulares. Este agendamento de tarefas ajuda a reduzir a intervenção humana durante a noite e a alimentação pode ser feita em um determinado horário. O usuário também pode ordenar as tarefas nas quais deve ser gerado.


11. O que é COALESCE no SQL Server?

COALESCE é usado para retornar a primeira expressão não nula dentro dos argumentos. Esta função é usada para retornar um valor não nulo de mais de uma coluna nos argumentos.

Exemplo -

Select COALESCE(empno, empname, salary) from employee;

12. Como as exceções podem ser tratadas na programação do SQL Server?

As exceções são tratadas usando construções TRY—-CATCH e são tratadas escrevendo scripts dentro do bloco TRY e tratamento de erros no bloco CATCH.


13. Qual é a finalidade da função FLOOR?

A função FLOOR é usada para arredondar um valor não inteiro para o menor número inteiro anterior. Exemplo é dado

FLOOR(6.7)

Retorna 6.


14. Podemos verificar os bloqueios no banco de dados? Se sim, como podemos fazer essa verificação de bloqueio?

Sim, podemos verificar bloqueios no banco de dados. Isso pode ser alcançado usando um procedimento armazenado integrado chamado sp_lock.


15. Qual é a utilidade da função SIGN?

A função SIGN é usada para determinar se o número especificado é Positivo, Negativo e Zero. Isso retornará +1,-1 ou 0.

Exemplo -

SIGN(-35) returns -1

16. O que é um gatilho?

Os gatilhos são usados ​​para executar um lote de código SQL quando comandos de inserção, atualização ou exclusão são executados em uma tabela. Os gatilhos são acionados ou executados automaticamente quando os dados são modificados. Pode ser executado automaticamente nas operações de inserção, exclusão e atualização.


17. Quais são os tipos de gatilhos?

Existem quatro tipos de gatilhos e são eles:

  • inserção
  • Apagar
  • Atualizar
  • Em vez de

18. O que é uma coluna IDENTITY em instruções de inserção?

A coluna IDENTITY é usada nas colunas da tabela para tornar essa coluna um número incremental automático ou uma chave substituta.


19. O que é cópia em massa em SQL?

Bulkcopy é uma ferramenta usada para copiar grande quantidade de dados de tabelas. Esta ferramenta é usada para carregar grande quantidade de dados no SQL Server.


20. Qual será a consulta utilizada para obter a lista de triggers em um banco de dados?

Consulta para obter a lista de gatilhos no banco de dados

Select * from sys.objects where type='tr'

21. Qual é a diferença entre UNION e UNION ALL?

  • UNION: Para selecionar informações relacionadas de duas tabelas, o comando UNION é usado. É semelhante ao comando JOIN.
  • UNION All: O comando UNION ALL é igual ao comando UNION, exceto que UNION ALL seleciona todos os valores. Ele não removerá linhas duplicadas; em vez disso, recuperará todas as linhas de todas as tabelas.

22. Como são representadas as tabelas temporárias globais e seu escopo?

As tabelas temporárias globais são representadas por ## antes do nome da tabela. O escopo estará fora da sessão, enquanto as tabelas temporárias locais estarão dentro da sessão. O ID da sessão pode ser encontrado usando @@SPID.


Perguntas e respostas da entrevista do SQL Server para experientes

23. Quais as diferenças entre Stored Procedure e SQL dinâmico?

Procedimento armazenado é um conjunto de instruções armazenadas em um formato compilado. SQL dinâmico é um conjunto de instruções construídas dinamicamente em tempo de execução e não será armazenado em um banco de dados e simplesmente será executado durante o tempo de execução.


24. O que é agrupamento?

O agrupamento é definido para especificar a ordem de classificação em uma tabela. Existem três tipos de ordem de classificação –

  1. Maiúsculas e minúsculas
  2. Não diferencia maiúsculas de minúsculas
  3. Binário

25. Como podemos contar o número de registros em uma tabela?

A seguir estão as consultas que podem ser usadas para obter a contagem de registros em uma tabela –

Select * from <tablename> Select count(*) from <tablename> Select rows from sysindexes where id=OBJECT_ID(tablename) and indid<2

26. Qual é o comando usado para obter a versão do SQL Server?

Select SERVERPROPERTY('productversion')

é usado para obter a versão do SQL Server.


27. O que é o comando UPDATE_STATISTICS?

O comando UPDATE_STATISTICS é usado para atualizar os índices nas tabelas quando há uma grande quantidade de exclusões ou modificações ou cópias em massa ocorridas nos índices.


28. Qual é a utilidade da instrução SET NOCOUNT ON/OFF?

Por padrão, NOCOUNT está definido como OFF e retorna o número de registros afetados sempre que o comando é executado. Se o usuário não quiser exibir o número de registros afetados, ele poderá ser explicitamente definido como ON- (SET NOCOUNT ON).


29. Qual tabela do SQL Server é usada para armazenar os scripts de procedimento armazenado?

Sys.SQL_Modules é uma tabela do SQL Server usada para armazenar o script do procedimento armazenado. O nome do procedimento armazenado é salvo na tabela chamada Sys.Procedures.


30. O que são tabelas mágicas no SQL Server?

Durante operações DML como Insert, Delete e Update, o SQL Server cria tabelas mágicas para armazenar os valores durante as operações DML. Essas tabelas mágicas são usadas dentro dos gatilhos para transação de dados.


31. Qual a diferença entre SUBSTR e CHARINDEX no SQL Server?

A função SUBSTR é usada para retornar uma parte específica da string em uma determinada string. Mas, a função CHARINDEX fornece a posição do caractere em uma determinada string especificada.

SUBSTRING('Smiley',1,3)

Dá resultado como Smi

CHARINDEX('i', 'Smiley',1)

Dá 3 como resultado como eu apareço em 3rd posição da corda


32. Como criar um login?

Você pode usar o seguinte comando para criar um login

CREATE LOGIN MyLogin WITH PASSWORD = '123';

33. O que é o operador ISNULL()?

A função ISNULL é usada para verificar se o valor fornecido é NULL ou não NULL no sql server. Esta função também permite substituir um valor por NULL.


34. Qual é a utilidade da cláusula FOR?

A cláusula FOR é usada principalmente para XML e opções do navegador. Esta cláusula é usada principalmente para exibir os resultados da consulta em formato XML ou no navegador.


35. Qual será o número máximo de índices por tabela?

Para SQL Server 2008, o Índice 100 pode ser usado como número máximo por tabela. 1 ClusterÍndice ed e 999 índices não agrupados por tabela podem ser usados ​​no SQL Server.

O índice 1000 pode ser usado como número máximo por tabela. 1 ClusterÍndice ed e 999 índices não agrupados por tabela podem ser usados ​​no SQL Server.

1 ClusterÍndice ed e 999 índices não agrupados por tabela podem ser usados ​​no SQL Server.


36. Qual é a diferença entre COMMIT e ROLLBACK?

Cada instrução entre BEGIN e COMMIT torna-se persistente no banco de dados quando o COMMIT é executado. Cada instrução entre BEGIN e ROOLBACK é revertida para o estado em que o ROLLBACK foi executado.


37. Qual é a diferença entre os tipos varchar e nvarchar?

Varchar e nvarchar são iguais, mas a única diferença é que nvarhcar pode ser usado para armazenar caracteres Unicode para vários idiomas e também ocupa mais espaço quando comparado com varchar.


38. Qual é a utilidade de @@SPID?

Um @@SPID retorna o ID da sessão do processo do usuário atual.


39. Qual é o comando usado para recompilar o procedimento armazenado em tempo de execução?

O procedimento armazenado pode ser executado com a ajuda da palavra-chave chamada RECOMPILE.

Exemplo

Exe <SPName>  WITH RECOMPILE

Ou podemos incluir WITHRECOMPILE no próprio procedimento armazenado.


40. Como deletar linhas duplicadas no SQL Server?

Linhas duplicadas podem ser excluídas usando o recurso CTE e ROW NUMER do SQL Server.


41. Onde os nomes de usuário e senhas do SQL Server são armazenados no SQL Server?

Nomes de usuário e senhas são armazenados em sys.server_principals e sys.sql_logins. Mas as senhas não são armazenadas em texto normal.


42. Qual é a diferença entre GETDATE e SYSDATETIME?

Ambos são iguais, mas GETDATE pode fornecer tempo de até milissegundos e SYSDATETIME pode fornecer precisão de até nanossegundos. SYSDATE TIME é mais preciso que GETDATE.


43. Como os dados podem ser copiados de uma tabela para outra?

INSERT INTO SELECT

Este comando é usado para inserir dados em uma tabela já criada.

SELECT INTO

Este comando é usado para criar uma nova tabela e sua estrutura e dados podem ser copiados da tabela existente.


44. O que é TABLESAMPLE?

TABLESAMPLE é usado para extract amostra aleatoriamente as linhas que são todas necessárias para a aplicação. As linhas da amostra são selecionadas com base na porcentagem de linhas.


45. Qual comando é usado para mensagens de erro definidas pelo usuário?

RAISEERROR é o comando usado para gerar e iniciar o processamento de erros para uma determinada sessão. Essas mensagens definidas pelo usuário são armazenadas na tabela sys.messages.


46. ​​O que significa tipo de dados XML?

O tipo de dados XML é usado para armazenar documentos XML no banco de dados SQL Server. Colunas e variáveis ​​são criadas e armazenam instâncias XML no banco de dados.


47. O que é CDC?

CDC é abreviado como Change Data Capture, que é usado para capturar os dados que foram alterados recentemente. Este recurso está presente no SQL Server 2008.


48. O que é injeção de SQL?

A injeção de SQL é um ataque de usuários mal-intencionados no qual código malicioso pode ser inserido em strings que podem ser passadas para uma instância do servidor SQL para análise e execução. Todas as instruções devem ser verificadas quanto a vulnerabilidades, pois executam todas as consultas sintaticamente válidas que recebem.

Até mesmo os parâmetros podem ser manipulados por invasores qualificados e experientes.


49. Quais são os métodos usados ​​para proteção contra ataques de injeção de SQL?

A seguir estão os métodos usados ​​para proteção contra ataques de injeção de SQL:

  • Use parâmetros para procedimentos armazenados
  • Filtrando parâmetros de entrada
  • Use a coleção de parâmetros com SQL dinâmico
  • Na cláusula semelhante, os caracteres de escape do usuário

50. O que é índice filtrado?

O Índice Filtrado é usado para filtrar alguma parte das linhas em uma tabela para melhorar o desempenho da consulta, a manutenção do índice e reduzir os custos de armazenamento do índice. Quando o índice é criado com a cláusula WHERE, ele é denominado Índice Filtrado.

Essas perguntas da entrevista também ajudarão em sua viva (oral)

Resuma esta postagem com: