Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

As 50 principais perguntas da entrevista do SQL Server que você deve preparar em 2022

Na era em que uma enorme quantidade de dados é gerada diariamente, os dados desempenham um papel crucial na tomada de decisões para operações de negócios. Então, para lidar com dados, precisamos de bancos de dados e isso nos dá a necessidade de entender os sistemas de gerenciamento de banco de dados. Com vários sistemas de gerenciamento de banco de dados, o MS SQL Server é um dos sistemas de gerenciamento de banco de dados relacional mais populares. Este tipo de SGBD usa uma estrutura que permite aos usuários identificar e acessar dados em relação para outro dado no banco de dados. Assim, conhecer o MS SQL Server abre as portas para você se tornar um Administrador de Banco de Dados. Acredito que você já esteja ciente desses fatos e isso fez com que você chegasse a este artigo de perguntas da entrevista do MS SQL Server.

Neste artigo sobre perguntas de entrevista do Microsoft SQL Server, discutirei as principais perguntas relacionadas ao MS SQL Server feitas em suas entrevistas. Essas perguntas são coletadas após consulta a pessoas com excelentes habilidades neste campo.

Vamos começar!

Q1. Mencione as diferenças entre SQL Server e MySQL.

SQL Server MySQL

Desenvolvido pela Microsoft

Desenvolvido pela Oracle

Software licenciado

Software de código aberto

Suporta C#, Java C++, PHP, Visual Basic, Perl, Python, Ruby, etc

Suporta PHP, Perl, Python, Ruby, etc

Não permite nenhum tipo de manipulação de arquivos de banco de dados durante a execução

Permite a manipulação do arquivo de banco de dados durante a execução.

Permite o cancelamento da consulta no meio do processo

Não permite o cancelamento da consulta no meio do processo.

Ao fazer backup dos dados, não bloqueia o banco de dados

Ao fazer backup dos dados, ele bloqueia o banco de dados

Ocupa muito espaço de armazenamento operacional.

Requer menos espaço de armazenamento operacional.

Disponível no modo Expresso e Personalizado.

Disponível no MySQL Community Edition e MySQL Enterprise Edition

Q2. O que você entende por SQL Server Agent?

SQL Server Agent é um serviço do Windows usado para agendar e executar trabalhos. Aqui, cada trabalho contém uma ou mais etapas e cada etapa contém uma tarefa. Assim, o Server Agent usa o SQL Server para armazenar informações de trabalho e executar um trabalho em um agendamento.

Os principais componentes do SQL Server Agent são Jobs, Schedules, Operators e Alerts.

Exemplo:

Se uma empresa deseja fazer um backup dos servidores da empresa às 21h todas as sextas-feiras, você pode muito bem automatizar essa tarefa para deixar o agendamento acontecer por conta própria . Em um cenário, o backup encontra um erro, o SQL Server Agent registra o evento e notifica a equipe correspondente.

Q3. Mencione os diferentes modos de autenticação no SQL Server.

Antes de falar sobre os diferentes modos de autenticação no SQL Server, deixe-me dizer que o modo de autenticação é usado para autenticar um usuário no SQL Server. O modo de autenticação é selecionado durante a configuração do mecanismo de banco de dados. Portanto, se você quiser saber como configurar o Microsoft SQL Server, consulte meu artigo.

Os diferentes modos de autenticação oferecidos pelo SQL SERVER são os seguintes:

  • Modo de autenticação do Windows: Este modo é usado para conectar o servidor por meio de uma conta do Windows. Aqui, o servidor usa o nome de usuário e a senha dos computadores para fins de autenticação. Além disso, o modo de autenticação do SQL Server é desabilitado neste modo.
  • Modo misto: O modo Misto é usado para se conectar a uma instância do SQL Server usando a autenticação do SQL Server ou a autenticação do Windows. Nesse modo, um nome de usuário e uma senha são definidos pelo usuário para o banco de dados.

Q4. Mencione as diferenças entre as tabelas temporárias locais e globais.

Tabela temporária local Tabela temporária global

Estas tabelas existem apenas para a duração da conexão ou duração dessa instrução.

Essas tabelas existem permanentemente no banco de dados e apenas as linhas são excluídas quando a conexão é fechada.

Sintaxe: CRIAR TABELA #

Sintaxe: CRIAR TABELA ##

Q5. Como você pode verificar a versão do SQL Server?

Para verificar a versão do SQL Server, você pode usar o seguinte comando:

SELECT @@version

O @@VERSION dá saída como uma string nvarchar.

Q6. O que é o modo de usuário único e quais são as etapas que você deve seguir para iniciar o SQL Server no modo de usuário único?

Muitas vezes pode acontecer que você queira iniciar uma instância do SQL Server no modo de usuário único. Você pode fazer isso quando quiser recuperar dados de outros sistemas de banco de dados ou quando quiser alterar as configurações do servidor.

Quando você inicia o SQL Server no modo de usuário único, qualquer membro do grupo Administradores local do computador é conectado à instância do SQL Server como sysadmin.

Os seguintes eventos ocorrem ao iniciar o banco de dados no modo de usuário único:

  • Um único usuário se conecta ao servidor.
  • O PONTO DE VERIFICAÇÃO processo não é executado, pois é executado por padrão na inicialização.

Além disso, observe que você precisa interromper o serviço SQL Server Agent antes de se conectar a uma instância do SQL Server no modo de usuário único.

  • Para iniciar o SQL Server no modo de usuário único, use o comando: sqlcmd –m
  • Para se conectar através do Editor de Consultas no Management Studio, use: -m"Microsoft SQL Server Management Studio - Query".

Q7. O que é o SQL Server Profiler?

O Microsoft SQL Server Profiler é uma interface usada para criar e gerenciar rastreamentos. Ele também analisa e reproduz os resultados do rastreamento. Aqui, os eventos são salvos em um arquivo de rastreamento que é posteriormente analisado ou usado para reproduzir uma série específica de etapas durante a depuração de um problema.

Você pode usar o SQL Server Profiler para atividades como:

  1. Encontrando a causa raiz do problema
  2. Monitorando o desempenho do SQL Server para lidar com as cargas de trabalho.
  3. Diagnosticando as consultas lentas
  4. Capturando uma série de instruções SQL que causam problemas, para replicar ainda mais o problema no servidor de teste, enquanto depura o problema.
  5. Também ajuda a correlacionar contadores de desempenho para depurar problemas facilmente.

Q8. Qual é a porta TCP/IP na qual o SQL Server é executado?

A porta TCP/IP na qual o SQL Server é executado é 1433.

Q9. O que são subconsultas no SQL Server? Explique suas propriedades.

Uma subconsulta é uma consulta dentro de outra consulta em que uma consulta é definida para recuperar dados ou informações do banco de dados. Em uma subconsulta, a consulta externa é chamada de consulta principal, enquanto a consulta interna é chamada de subconsulta. As subconsultas são sempre executadas primeiro e o resultado da subconsulta é passado para a consulta principal. Ele pode ser aninhado dentro de um SELECT, UPDATE ou qualquer outra consulta. Uma subconsulta também pode usar quaisquer operadores de comparação, como>,

As propriedades das subconsultas são as seguintes:

  • Deve ser colocado entre parênteses, pois deve ser executado antes da consulta principal
  • Mais de uma consulta pode ser incluída.
  • Uma subconsulta não deve ter a cláusula ORDER BY, mas pode incluir WHERE, GROUP BY e HAVING CLAUSE
  • A subconsulta deve estar no lado direito do operador de comparação da consulta principal
  • Uma subconsulta deve incluir a cláusula SELECT e uma cláusula FROM.

Q10. Como você inicia o modo de usuário único em cluster instalações?

Na instalação em cluster, o SQL Server usa a conexão DLL disponível e, portanto, bloqueia qualquer outra conexão com o servidor.

Neste estado, se você tentar colocar recursos do SQL Server Agent online, ele poderá fazer failover de recursos SQL para um nó diferente, pois pode ser configurado para um grupo. Portanto, para iniciar um único modo de usuário na instalação em cluster, você pode seguir as etapas abaixo:

  1. Vá para propriedades avançadas e remova o parâmetro de inicialização -m.
  2. Agora, coloque o recurso do SQL Server offline.
  3. Emita o seguinte comando no prompt de comando e verifique se você está no nó proprietário atual do grupo:
    net start MSSQLSERVER /m.
  4. Em seguida, você precisa verificar com o administrador do cluster ou fazer failover do console de gerenciamento de cluster se o recurso do SQL Server ainda está offline ou não.
  5. Em seguida, conecte-se ao SQL Server usando o seguinte comando e execute a operação necessária:SQLCMD -E -S<servername>.
  6. Depois que uma operação for concluída, você deve fechar o prompt de comando e trazer de volta o SQL e outros recursos online por meio do administrador do cluster.

Q11. O que você entende por replicação no SQL Server? Mencione os diferentes tipos de replicação no SQL Server.

A replicação no Microsoft SQL Server é um processo para sincronizar os dados entre vários servidores. Isso geralmente é feito por um conjunto de réplicas, e esses conjuntos fornecem várias cópias de dados com redundância e alta disponibilidade em diferentes servidores.

Não apenas isso, mas a replicação fornece um mecanismo para recuperação de falhas. Ele também remove dependências de um único servidor para proteger a perda de dados de um único servidor.

A seguir estão três tipos de replicações no SQL Server:

  1. Mesclar replicação: Essa replicação agrupa os dados de várias fontes em um único banco de dados centralizado e é usado no ambiente do servidor para o cliente.
  2. Replicação transacional: Essa replicação é um processo de distribuição de dados do editor para o assinante e é usada no ambiente de servidor para servidor.
  3. Replicação de instantâneo: Essa replicação distribui os dados exatamente como aparecem em um momento específico e é usada para replicar dados, que são alterados com pouca frequência.

Q12. Quais são as diferenças entre o MS SQL Server e o Oracle?

MS SQL Server Oracle

Fornece uma sintaxe simples e fácil.

Consiste em uma sintaxe complexa e comparativamente mais eficiente.

Usa transact SQL ou T-SQL.

Usa PL/SQL

Não suporta otimização de consulta.

Usa otimização de consulta em estrela.

Reversões não são permitidas no processo de transação.

Reversões são permitidas durante o processo de transação.

Permite backups incrementais, parciais e completos

Permite backups incrementais, completos, em nível de arquivo e diferenciais.

Não suporta clustering.

Oferece suporte para configuração em cluster.

Instruções como INSERT, UPDATE, DELETE são executadas em série.

Instruções como INSERT, UPDATE, DELETE, MERGE são executadas paralelamente.

Os trabalhos são agendados por meio do SQL Server Agent

Os trabalhos são agendados via agendador Oracle ou OEM

Q13. O que você entende por bloqueios INTENT?

O Microsoft SQL Server usa uma hierarquia de bloqueio sempre que os dados são lidos ou algo é alterado nos dados. Sempre que uma linha é lida, o SQL Server adquire um bloqueio compartilhado. Da mesma forma, assim que alteramos uma linha, o SQL Server adquire um bloqueio exclusivo. Esses bloqueios são incompatíveis entre si. Portanto, os bloqueios INTENT são usados ​​para indicar em um nível mais alto quais bloqueios são aplicados dentro de uma hierarquia de bloqueio. Existem basicamente três tipos de bloqueios INTENT:

  1. Bloqueio compartilhado de intenção (IS): Esse bloqueio é usado quando você tem um bloqueio compartilhado no nível da linha.
  2. Bloqueio de atualização de intenção (IU): O bloqueio de atualização de intent é usado quando você tem um bloqueio de atualização no nível da linha.
  3. Bloqueio Exclusivo Intext(IX): Esse bloqueio é usado quando você tem um bloqueio exclusivo no nível da linha.

Q14. Quais são as etapas que você deve seguir para ocultar instâncias do SQL Server?


As etapas que você deve seguir para ocultar instâncias do SQL Server são as seguintes:
  • Abra o SQL Server Configuration Manager e expanda a Configuração de rede do SQL Server.
  • Em seguida, vá para Protocolos e escolha a instância do SQL Server .
  • Mais tarde, clique com o botão direito do mouse na instância e selecione as Propriedades


  • Em seguida, na caixa Ocultar instância , vá para a guia Sinalizadores e selecione Sim .
  • Por fim, clique em OK, e feche a caixa de diálogo.


Q15. O que você entende por serviços de qualidade de dados no SQL Server?

Os serviços de qualidade de dados no SQL Server são um produto de qualidade de dados orientado ao conhecimento. O SQL Server Data Quality Services (DQS) permite ao usuário construir uma base de conhecimento e depois usá-la para executar tarefas como correção, desduplicação, enriquecimento, padronização de dados.

Além disso, o DQS também fornece perfis e permite que você realize limpeza de dados com a ajuda de serviços de dados baseados em nuvem.

O DQS consiste em dois componentes:

  • Servidor de qualidade de dados: É um recurso de instância do SQL Server que consiste em três catálogos do SQL Server com funcionalidade e armazenamento de qualidade de dados
  • Cliente de qualidade de dados: É um recurso do SQL Server que os usuários podem usar para realizar análises de qualidade de dados assistidas por computador e gerenciar sua qualidade de dados de forma interativa.

Q16. Explicar as Magic Tables no SQL Server

Magic Tables são tabelas criadas automaticamente no SQL Server usadas para armazenar internamente os valores inseridos e atualizados para operações DML como (SELECT, DELETE, INSERT, UPDATE, etc).

Q17. O que você entende por Alterar captura de dados ?

Change Data Capture ou mais comumente conhecido como CDC é usado para registrar as atividades INSERT, UPDATE, DELETE aplicadas nas tabelas. Portanto, como o nome sugere, o Change Data Capture é usado para capturar os dados que foram alterados recentemente. As informações da coluna e os metadados necessários para aplicar as alterações ao ambiente de destino são capturados para as linhas modificadas e são eventualmente armazenados nas tabelas de alterações. Essas tabelas de alteração são a imagem espelhada da estrutura de coluna original.

Q18. O que você entende por acionadores e menciona os diferentes tipos deles?

Triggers são usados ​​para executar lotes de código SQL sempre que comandos INSERT, DELETE ou UPDATE são executados em uma tabela. Assim, basicamente os triggers são executados automaticamente sempre que os dados são modificados com base nas operações de manipulação dos dados.

Os diferentes tipos de gatilhos são os seguintes:

  1. INSERIR
  2. ATUALIZAÇÃO
  3. EXCLUIR
  4. EM VEZ DE

Q19. O que você entende por procedimento armazenado recursivo?

Um procedimento armazenado recursivo é um método de solução de problemas através do qual você pode chegar à solução várias vezes.

Q20. Explique o Log Shipping e mencione suas vantagens.

O processo de automação de backup para restaurar bancos de dados de um servidor autônomo para outro servidor autônomo é conhecido como Log Shipping. Você também pode entender o envio de logs como uma das soluções de recuperação de desastres, pois garante que, mesmo que um servidor falhe, o servidor em espera terá os mesmos dados que o próprio servidor.

As vantagens do Log Shipping são as seguintes:

  • Requer pouca manutenção e é fácil de configurar
  • O banco de dados secundário criado é usado para fins somente leitura.
  • Você pode criar vários servidores secundários em espera
  • Permite um atraso especificado pelo usuário para o tempo entre o servidor primário faz backup do log do banco de dados primário quando os servidores secundários restauram (aplicam) o backup do log.

Q21. O que são sinalizadores de rastreamento e menciona alguns sinalizadores de rastreamento comuns usados ​​com o SQL Server?

Esses sinalizadores são usados ​​para alterar o comportamento do servidor ou definir as características do servidor. Alguns sinalizadores de rastreamento comuns usados ​​com o SQL Server são os seguintes

  • 1204, 1205, 1222 – Esses sinalizadores são usados ​​para informações de impasse.
  • 174 – Esse sinalizador de rastreamento aumenta a contagem de buckets de cache do plano do Mecanismo de Banco de Dados do SQL Server de 40.009 para 160.001 em sistemas de 64 bits.
  • 1118 – Força alocações de extensão uniforme em vez de alocações de página mistas – (SQL 2005 e 2008) Para reduzir a contenção de TempDB.
  • 652 – Este sinalizador de rastreamento desativa as varreduras de pré-busca de página.
  • 2566 – Usado para executar o comando DBCC CHECKDB sem verificação de pureza de dados, a menos que a opção DATA_PURITY seja especificada.

Q22. Mencione as diferenças entre SUBSTR e CHARINDEX no SQL Server.

SUBSTR CHARINDEX

Usado para retornar uma parte específica da string em uma determinada string

Usado para retornar uma posição de caractere em uma determinada string especificada

Exemplo:

SUBSTRING('Edureka',1,4)

Saída:

Eduar

Exemplo:

CHARINDEX('r','Edureka',1)

Saída:

4

Q23. O que você entende por Analysis Services no SQL Server?

O Analysis Services no Microsoft SQL Server é um mecanismo de dados analíticos usado em análises de negócios e suporte a decisões. Esse serviço fornece modelos semânticos de nível empresarial para aplicativos cliente e relatórios, como Power BI, Microsoft Excel e outras ferramentas de visualização.

O Analysis Services está disponível em plataformas como:

  1. Serviços de análise do Azure
  2. Power BI Premium
  3. SQL Server Analysis Services

Q24. O que você entende por Espelhamento e menciona as vantagens do Espelhamento?

O espelhamento no SQL Server foi projetado para manter um servidor em espera ativa, consistente com o servidor primário em termos de transação. Além disso, os registros do log de transações são enviados do servidor principal para o servidor secundário.

A seguir estão as vantagens do espelhamento:

  1. Consiste em um mecanismo de failover automático.
  2. Mais eficiente que o Log Shipping e é mais robusto.
  3. O servidor primário é sincronizado com o servidor secundário em tempo real

Q25. Quando você acha que um desenvolvedor deve usar cursores baseados em SQL Server?

Os cursores baseados no SQL Server são usados ​​quando você deseja trabalhar em um registro a qualquer momento, em vez de obter todos os dados de uma tabela em massa. No entanto, os cursores não são preferidos para serem usados ​​quando grandes volumes de dados estão presentes, pois isso afeta o desempenho. Em um cenário em que não é possível evitar os cursores, tente reduzir o número de registros a serem processados ​​usando uma tabela temporária e, eventualmente, crie o cursor a partir disso.

Q26. Que papel o design de banco de dados desempenha no desempenho de um aplicativo baseado em SQL Server?

O design físico e lógico desempenha um papel importante no desempenho dos aplicativos baseados no SQL Server. Precisamos garantir que os dados corretos sejam capturados em tabelas adequadas, os itens de dados tenham relacionamentos adequados entre eles e a redundância de dados seja reduzida. Eu também sugiro que, enquanto você estiver projetando um banco de dados, certifique-se de que seja um processo iterativo para atingir todas as metas de sistema necessárias e esteja sob constante observação. Uma vez que o design do banco de dados é definido, é muito difícil alterar o design de acordo com os requisitos. Você só pode adicionar novos relacionamentos e itens de dados.

Q27. O que você entende por função definida pelo usuário no SQL Server e explica as etapas para criar e executar uma função definida pelo usuário no SQL Server?

Uma função definida pelo usuário é uma função escrita de acordo com as necessidades do usuário através da implementação da lógica. Nestes tipos de funções o usuário não se limita a funções pré-definidas e simplifica o código complexo da função pré-definida escrevendo código simples. Esta função retorna um valor escalar ou uma tabela.

Para criar uma função definida pelo usuário, consulte o exemplo a seguir:

CREATE FUNCTION samplefunc(@num INT)
RETURNS TABLE
AS
RETURN SELECT * FROM customers WHERE CustId=@num

Para executar a função criada acima, consulte o seguinte comando:
SELECT * FROM samplefunc(10)

Q28. Como você pode garantir que o banco de dados e o aplicativo baseado em SQL Server tenham um bom desempenho?

Um desenvolvedor deve verificar o tipo de informação armazenada, volume de dados e os dados que será acessado.

Em um cenário em que você está atualizando um sistema existente, você deve analisar os dados atuais, os volumes de dados existentes ocorrem e verificar o método pelo qual os dados são acessados, para ajudá-lo compreender as áreas problemáticas para o design.

Em um cenário em que você está usando um novo sistema, você deve manter as informações sobre quais dados serão capturados e quais são os constituintes dos dados e a relação entre os itens de dados.

Q29. O que são relacionamentos e mencione diferentes tipos de relacionamentos no SGBD

Um relacionamento em SGBD é o cenário em que duas entidades estão relacionadas entre si. Nesse cenário, a tabela que consiste em referências de chave estrangeira a uma chave primária da outra tabela.

Os diferentes tipos de relacionamentos no DBMS são os seguintes:

  • Relação individual – Usado quando uma única linha na Tabela A está relacionada a uma única linha na Tabela B.
  • Relação de um para muitos – Usado quando uma única linha na Tabela A está relacionada a muitas linhas na tabela B.
  • Relação de muitos para muitos – Usado quando muitas linhas na tabela A podem ser relacionadas a muitas linhas na tabela B.
  • Relação de auto-referência – Usado quando um registro na tabela A está relacionado a um registro na mesma tabela.

Q30. O que são junções no SQL e quais são os diferentes tipos de junções?


Uma cláusula JOIN é usada para combinar linhas de duas ou mais tabelas, com base em uma coluna relacionada entre elas. Ele é usado para mesclar duas tabelas ou recuperar dados de lá. Existem 4 junções no SQL, a saber:
  • Junta interna
  • Juntar à direita
  • Participar à esquerda
  • Participação completa

Q31. Para que serve o comando DBCC CHECKDB?

O comando DBCC CHECKDB é utilizado para verificar a integridade física e lógica de todos os objetos do banco de dados mencionado. Para isso, ele realiza as seguintes operações:

  • Executa DBCC CHECKALLOC no banco de dados mencionado.
  • Em cada tabela e exibição no banco de dados, o DBCC CHECKTABLE comando é executado.
  • Executa DBCC CHECKCATALOG no banco de dados.
  • Em seguida, validou o conteúdo de cada exibição indexada no banco de dados mencionado.
  • Também valida a consistência no nível do link entre os diretórios do sistema de arquivos e os metadados da tabela enquanto armazena dados varbinary(max) no sistema de arquivos usando FILESTREAM.
  • Finalmente, ele valida os dados do Service Broker no banco de dados.

Então, você só precisa executar o comando DBCC CHECKDB e, automaticamente, os comandos DBCC CHECKALLOC, DBCC CHECKTABLE ou DBCC CHECKCATALOG são executados.

Além disso, observe que o DBCC é compatível com bancos de dados que contêm tabelas com otimização de memória, mas não oferecem opções de reparo. Isso implica que você deve fazer backup de bancos de dados regularmente e testar esses backups.

Q32. O que você entende por restrição CHECK no SQL Server?

A restrição CHECK no SQL Server é usada para limitar os valores ou o tipo de dados armazenados em uma coluna. Depois de aplicar a restrição CHECK em uma única coluna, você pode avançar e aplicar valores específicos para essa coluna específica.

Exemplo:

CREATE TABLE Customer (&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;Cust_ID int NOT NULL,&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;FirstName varchar(255),&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;Age int,&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;City varchar(255),&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;CONSTRAINT CHK_Customer CHECK (Age>20 AND City= 'Hyderabad')&nbsp;&nbsp;
);&nbsp;&nbsp;

Q33. O que fazer você entende por COALESCE no SQL Server?

Esta função é usada para retornar a primeira expressão não nula dentro de argumentos. O comando COALESCE é usado para retornar um valor não nulo de mais de uma única coluna em argumentos.

Exemplo:

SELECT COALESCE(CustID, CustName, Amount) from Customers;

Q34. Explique o uso da função FLOOR no SQL Server.

A função FLOOR é usada para arredondar um valor não inteiro para o menor valor inteiro anterior. Esta função retorna um valor único após o arredondamento dos dígitos.

Sintaxe:

FLOOR(expression)

Exemplo:
FLOOR(7.3)

Q35. Qual ​​é o comando usado para verificar bloqueios no Microsoft SQL Server?

Para verificar bloqueios no banco de dados, você pode usar o procedimento armazenado embutido sp_lock.

Sintaxe

sp_lock [ [ @spid1 = ] 'session ID1' ] [ , [@spid2 = ] 'session ID2' ]
[ ; ]

Exemplo:


Para listar todos os bloqueios atualmente mantidos em uma instância do Mecanismo de Banco de Dados, use o seguinte comando:
USE SampleDB;  
GO  
EXEC sp_lock;  
GO  

Q36. Mencione as 3 maneiras de obter uma contagem do número de registros em uma tabela.


A seguir estão três maneiras de contar o número de registros na tabela:
SELECT * FROM TableName;
SELECT COUNT(*) FROM TableName;
SELECT rows FROM indexes WHERE id = OBJECT_ID(TableName) AND indexid< 2;

Q37. Qual é o uso da função SIGN?


Esta função é usada para determinar se o número mencionado é zero, positivo e negativo. Então, ele retornará 0, +1, -1.

Sintaxe:

SIGN(number)

Exemplo:

SIGN (0)  returns 0
SIGN (21)  returns 1
SIGN (-21)  returns -1

Q38. Escrever uma consulta SQL para encontrar o primeiro dia da semana do mês?


Para encontrar o primeiro dia da semana do mês, você pode escrever uma consulta da seguinte forma:
SELECT DATENAME(dw, DATEADD(dd, – DATEPART(dd, GETDATE()) + 1, GETDATE())) AS FirstDay;

Q39. Mencione o comando usado para renomear o banco de dados.

Para renomear um banco de dados, você deve usar o comando sp_renamedb da seguinte maneira:

sp_renamedb 'OldDatabaseName', 'NewDatabaseName';

Q40. Escreva uma consulta para encontrar o 5º maior valor pago na tabela Cliente.


Para encontrar o 5º maior valor pago da tabela dos clientes, você pode escrever uma consulta conforme abaixo:
SELECT TOP 1 amount FROM (SELECT DISTINCT TOP 5 amount FROM customers ORDER BY amount DESC) ORDER BY amount;

Q41. Como podemos excluir uma tabela no SQL Server?


Para excluir uma tabela no SQL Server, use o comando Excluir.

Sintaxe:

DELETE TableName

Exemplo:

DELETE Customers;

Q42. Qual é o objetivo de ATUALIZAR ESTATÍSTICAS e SCOPE_IDENTITY() function ?

  • UPDATE _STATISTICS is used to update the information used by indexes such as the distribution of key values for one or more statistic groups in the mentioned indexed view or table.
  • SCOPE_IDENTITY is used to create identity value for tables in the current execution scope.

Q43. What do you understand by PHYSICAL_ONLY option in DBCC CHECKDB?

  • The PHYSICAL_ONLY option is used to limit check to the integrity of the physical structure of the record headers, page, and also the allocation consistency of the database.
  • The PHYSICAL_ONLY check is used to provide a small overhead check of the physical consistency of the database.
  • Also, the PHYSICAL_ONLY option causes a shorter run-time for DBCC CHECKDB on large databases. So, it is generally recommended for frequent use on production systems.

Q44. Can you explain how long are locks retained within the REPEATABLE_READ and SERIALIZABLE isolation levels, during a read operation with row-level locking?

With REPEATABLE_READ and SERIALIZABLE isolation levels, locks are held during the transaction. But, if you consider READ_COMMITTED, then locks are held for isolation level.

Q45. Mention the differences between HAVING and WHERE clause.

HAVING WHERE
Used only with SELECT statement Used in a GROUP BY clause
Used with the GROUP BY function in a query Applied to each row before they are a part of the GROUP BY function in a query

Observação: Whenever GROUP BY is not used, HAVING behaves like a WHERE clause.

Q46. What do you understand by integration services in SQL Server?

Integration services is a platform offered by Microsoft to build enterprise-level data transformation solutions and integration. These services solve complex business problems by loading data warehouses, perform data wrangling, copy or download files, and manage SQL Server objects.

Also, integration services can extract and transform data from a wide variety of sources such as relational data sources, XML data files, load the data into more than a single database. So, basically, you can use the integration services to create solutions without coding, code complex tasks, program the extensive integration object model to create packages.

The integration services include good set of built-in tasks and transformations, graphical tools used for building packages and also contain the Catalog database to store, run and manage packages.

Q47. What do you understand by Hotfixes and Patches in SQL Server?


Hotfixes are single, cumulative software packages applied to live systems. This includes one or more files used to address a problem in a software product. Patches are a programs installed on the machines to rectify the problem occurred in the system and ensured the security of the system. So, basically hotfixes are a kind of patch offered by Microsoft SQL Server to address specific issues.

Q48. Can you name a few encryption mechanisms in SQL server?

These are few encryption mechanisms in SQL Server to encrypt data in the database:

  1. Transparent Data Encryption
  2. Symmetric Keys
  3. Asymmetric Keys
  4. Transact SQL functions
  5. Certificates

Q49. What are the options which must be set to allow the usage of optimistic models?


The READ_COMMITED_SNAPSHOT option and the ALLOW_SNAPSHOT_ISOLATION option must be set to allow the usage of optimistic models.
  • The READ_COMMITTED_SNAPSHOT option is used for the read committed optimistic model.
  • ALLOW_SNAPSHOT_ISOLATION option is used for the snapshot isolation level.

Q50. What are the common performance issues in SQL Server?


The common performance issues in SQL Server are as follows:
  • Fragmentation
  • Input/Output bottlenecks
  • Blocking Queues
  • Deadlocks
  • Missing and unused indexes

So this brings us to the end of the SQL Server Interview Questions article. I hope this set of SQL Server Interview Questions will help you ace your job interview. All the best for your interview!

Check out this Treinamento de certificação de DBA MySQL da Edureka, uma empresa confiável de aprendizado on-line com uma rede ode mais de 250.000 alunos satisfeitos espalhados pelo mundo. Este curso treina você nos principais conceitos e ferramentas e técnicas avançadas para gerenciar dados e administrar o banco de dados MySQL. Inclui aprendizado prático em conceitos como MySQL Workbench, MySQL Server, Modelagem de Dados, MySQL Connector, Design de Banco de Dados, Linha de Comando MySQL, Funções MySQL, etc. gerenciar dados.

Tem alguma pergunta para nós? Please mention it in the comments section of this “SQL Server Interview Questions” article and we will get back to you as soon as possible.