baixar PDF
1. Quais são os dois modos de autenticação no SQL Server?
Existem dois modos de autenticação -
- Modo Windows
- 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.
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 procedimento armazenado recursivo que chama por si mesmo. O procedimento armazenado recursivo pode ser definido como um método de resolução de problemas em que a solução chega repetidamente. Ele pode aninhar até 32 níveis.
CREATE PROCEDURE [dbo].[Fact](@Number Integer,@RetVal Integer OUTPUT)ASDECLARE @In IntegerDECLARE @Out IntegerIF @Number != 1BEGINSELECT @In = @Number - 1EXEC Fact @In, @Out OUTPUT - Same stored procedure has been called again(Recursively)SELECT @RetVal = @Number * @OutENDELSEBEGINSELECT @RetVal = 1ENDRETURNGO
4. Quais são as diferenças entre as 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 é fechada.
CREATE TABLE #
- 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 é fechada.
CREATE TABLE ##
5. O que é a restrição CHECK?
Uma restrição CHECK pode ser aplicada a uma coluna em uma tabela para limitar os valores que podem ser colocados em uma coluna. A restrição de verificação é para impor integridade.
6. Os servidores SQL podem ser vinculados a outros servidores?
O servidor SQL pode ser conectado a qualquer banco de dados que tenha provedor OLE-DB para fornecer um link. Exemplo: Oracle possui provedor OLE-DB que possui link para conexão com o 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 Selecionar, Atualizar, Inserir ou Excluir. Isso pode ser usado quando a expressão é permitida. As propriedades da subconsulta podem ser definidas como
- Uma subconsulta não deve ter ordem por cláusula
- 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 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 uma única linha que retorna apenas uma linha
- Subconsulta de várias linhas que retorna várias linhas
- Subconsulta de várias colunas que retorna várias colunas para a consulta principal. Com esse resultado de subconsulta, a consulta principal será executada.
9. O que é agente de servidor SQL?
O agente do SQL Server desempenha um papel vital nas tarefas diárias do administrador do SQL Server (DBA). O objetivo do agente de servidor é implementar as tarefas facilmente com o mecanismo do planejador, que permite que nossos trabalhos sejam executados na 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 um intervalo regular. Esse 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 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 é o propósito da função FLOOR?
A função FLOOR é usada para arredondar um valor não inteiro para o menor inteiro anterior. Exemplo é dado
FLOOR(6.7)
Retorna 6.
14. Podemos verificar os bloqueios no banco de dados? Em caso afirmativo, como podemos fazer essa verificação de bloqueio?
Sim, podemos verificar os bloqueios no banco de dados. Isso pode ser alcançado usando o procedimento armazenado embutido chamado sp_lock.
15. Qual é o uso 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 os comandos de inserção, atualização ou exclusão são executados em uma tabela. Os gatilhos são disparados 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:
- Inserir
- Excluir
- Atualizar
- Ao invés de
18. O que é uma coluna IDENTITY nas instruções de inserção?
A coluna IDENTITY é usada nas colunas da tabela para torná-la um número incremental automático ou uma chave substituta.
19. O que é Bulkcopy no SQL?
Bulkcopy é uma ferramenta usada para copiar uma grande quantidade de dados de tabelas. Esta ferramenta é usada para carregar grande quantidade de dados no SQL Server.
20. O que será a consulta usada para obter a lista de gatilhos em um banco de dados?
Consulta para obter a lista de gatilhos no banco de dados-
Select * from sys.objects where
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á as linhas duplicadas, em vez disso, recuperará todas as linhas de todas as tabelas.
22. Como as tabelas temporárias globais são representadas e seu escopo?
As tabelas temporárias globais são representadas com ## antes do nome da tabela. O escopo estará fora da sessão, enquanto as tabelas temporárias locais estão dentro da sessão. A ID da sessão pode ser encontrada usando @@ SPID.
23. Quais são as diferenças entre Stored Procedure e o SQL dinâmico?
Stored Procedure é um conjunto de instruções armazenadas de forma compilada. SQL Dinâmico é um conjunto de instruções que são construídas dinamicamente em tempo de execução e não serão armazenadas em um Banco de Dados, simplesmente executadas durante a 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 -
- Maiúsculas e Minúsculas
- Não diferencia maiúsculas de minúsculas
- Binário
25. Como podemos obter a contagem do 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 * fromSelect count(*) from 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 quando ocorre uma cópia em massa nos índices.
28. Qual é o uso da instrução SET NOCOUNT ON / OFF?
Por padrão, NOCOUNT é definido como OFF e retorna o número de registros afetados sempre que o comando está sendo executado. Se o usuário não quiser exibir o número de registros afetados, ele pode ser explicitamente definido como ON- (SET NOCOUNT ON).
29. Qual tabela do servidor SQL é usada para manter 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 as operações DML como Insert, Delete e Update, o SQL Server cria tabelas mágicas para conter os valores durante as operações DML. Essas tabelas mágicas são usadas dentro dos gatilhos para transações 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. Porém, a função CHARINDEX fornece a posição do caractere em uma determinada string.
SUBSTRING('Smiley',1,3)
Dá resultado como Smi
CHARINDEX('i', 'Smiley',1)
Dá 3 como resultado, uma vez que apareço na 3ª posição da corda
32. Como você pode 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 servidor sql. Esta função também permite substituir um valor por NULL.
34. Qual é o uso 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 o SQL Server 2008, o Índice 100 pode ser usado como número máximo por tabela. 1 Índice agrupado 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 Índice agrupado e 999 índices não agrupados por tabela podem ser usados no SQL Server.
1 Índice agrupado 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 para o 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. Para que serve @@ SPID?
Um @@ SPID retorna a 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
ExeWITH RECOMPILE
Ou podemos incluir WITHRECOMPILE no próprio procedimento armazenado.
40. Como excluir 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 até milissegundos e SYSDATETIME pode fornecer precisão até nanossegundos. SYSDATE TIME é mais preciso do 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 que já foi criada.
SELECIONE EM
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 extrair amostras de linhas aleatoriamente que são todas necessárias para o aplicativo. As linhas de amostra obtidas são baseadas 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 o código mal-intencionado 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 em busca de vulnerabilidades, uma vez que executa todas as consultas sintaticamente válidas que recebe.
Até mesmo os parâmetros podem ser manipulados por invasores qualificados e experientes.
49. Quais são os métodos usados para proteger contra o ataque de injeção de SQL?
A seguir estão os métodos usados para proteger contra o ataque 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 like, caracteres de escape do usuário
50. O que é índice filtrado?
Índice filtrado é usado para filtrar alguma parte das linhas em uma tabela para melhorar o desempenho da consulta, manutenção do índice e reduzir os custos de armazenamento do índice. Quando o índice é criado com a cláusula WHERE, ele é chamado de Índice Filtrado