Топ 50 въпроса за интервю за SQL Server & Отговори

Anonim

Изтеглете PDF

1. Какви са двата режима за удостоверяване в SQL Server?

Има два режима за удостоверяване -

  • Режим на Windows
  • Смесен режим

Режимите могат да се променят, като изберете менюто с инструменти на свойствата на конфигурацията на SQL Server и изберете страница за сигурност.

2. Какво е SQL Profiler?

SQL Profiler е инструмент, който позволява на системния администратор да наблюдава събитията в SQL сървъра. Това се използва главно за улавяне и запазване на данни за всяко събитие на файл или таблица за анализ.

3. Какво е рекурсивна съхранена процедура?

SQL Server поддържа рекурсивна съхранена процедура, която се извиква сама. Рекурсивно съхранената процедура може да се определи като метод за решаване на проблеми, при който решението се получава многократно. Може да гнезди до 32 нива.

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. Какви са разликите между местните и глобалните временни таблици?

  • Локалните временни таблици са видими, когато има връзка, и се изтриват, когато връзката е затворена.
CREATE TABLE #
  • Глобалните временни таблици са видими за всички потребители и се изтриват, когато връзката, която я е създала, се затвори.
CREATE TABLE ##

5. Какво представлява ограничението CHECK?

Ограничение CHECK може да се приложи към колона в таблица, за да се ограничат стойностите, които могат да бъдат поставени в колона. Ограничението за проверка е да наложи целостта.

6. Могат ли SQL сървърите да са свързани с други сървъри?

SQL сървърът може да бъде свързан към всяка база данни, която има OLE-DB доставчик, за да даде връзка. Пример: Oracle има OLE-DB доставчик, който има връзка за свързване с групата на SQL сървъра.

7. Какво представлява подзаявката и нейните свойства?

Подзаявката е заявка, която може да бъде вложена в основна заявка като Избор, Актуализиране, Вмъкване или Изтриване на изрази. Това може да се използва, когато е разрешен израз. Свойствата на подзаявката могат да бъдат определени като

  • Подзаявката не трябва да има ред по клауза
  • Подзаявка трябва да бъде поставена в дясната страна на оператора за сравнение на основната заявка
  • Подзаявка трябва да бъде затворена в скоби, защото трябва да бъде изпълнена първо преди основната заявка
  • Могат да бъдат включени повече от една подзаявка

8. Какви са видовете подзаявки?

Има три вида подзаявки -

  • Подзаявка за един ред, която връща само един ред
  • Подзаявка за множество редове, която връща множество редове
  • Подзаявка за множество колони, която връща множество колони към основната заявка. С този резултат на подзаявката ще бъде изпълнена основната заявка.

9. Какво е агент на SQL сървъра?

Агентът на SQL Server играе жизненоважна роля в ежедневните задачи на администратора на SQL сървър (DBA). Целта на сървърния агент е да изпълнява задачите лесно с механизма за планиране, който позволява работата ни да се изпълнява в планирани дата и час.

10. Какви са планираните задачи в SQL Server?

Планираните задачи или задачи се използват за автоматизиране на процесите, които могат да се изпълняват в планирано време на редовен интервал. Това планиране на задачи помага да се намали човешката намеса през нощта и фуражите могат да се извършват в определено време. Потребителят може също да поръча задачите, в които трябва да се генерира.

11. Какво е COALESCE в SQL Server?

COALESCE се използва за връщане на първи ненулеви израз в аргументите. Тази функция се използва за връщане на ненулево от повече от една колона в аргументите.

Пример -

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

12. Как могат да се обработват изключения при програмирането на SQL Server?

Изключенията се обработват с помощта на TRY ---- CATCH конструкции и се обработва чрез писане на скриптове в блока TRY и обработка на грешки в блока CATCH.

13. Каква е целта на функцията FLOOR?

Функцията FLOOR се използва за закръгляване на нецела стойност до предишното най-малко цяло число. Даден е пример

FLOOR(6.7)

Връща 6.

14. Можем ли да проверим заключванията в базата данни? Ако е така, как можем да направим тази проверка на заключването?

Да, можем да проверяваме заключванията в базата данни. Това може да се постигне с помощта на вградена съхранена процедура, наречена sp_lock.

15. Каква е ползата от функцията SIGN?

Функцията SIGN се използва за определяне дали посоченият номер е Положителен, Отрицателен и Нулев. Това ще върне + 1, -1 или 0.

Пример -

SIGN(-35) returns -1

16. Какво е тригер?

Задействанията се използват за изпълнение на партида SQL код, когато командите за вмъкване, актуализиране или изтриване се изпълняват спрямо таблица. Задействанията автоматично се задействат или изпълняват, когато данните се променят. Може да се изпълнява автоматично при операции за вмъкване, изтриване и актуализиране.

17. Какви са видовете тригери?

Има четири вида задействания и те са:

  • Поставете
  • Изтрий
  • Актуализиране
  • Вместо

18. Какво представлява колоната ИДЕНТИЧНОСТ във вмъкване на изявления?

ИДЕНТИЧНОСТ колона се използва в колони на таблица, за да я направи като автоматично нарастващо число или сурогатен ключ.

19. Какво представлява Bulkcopy в SQL?

Bulkcopy е инструмент, използван за копиране на голямо количество данни от таблици. Този инструмент се използва за зареждане на голямо количество данни в SQL Server.

20. Каква ще бъде заявката, използвана за получаване на списъка с тригери в база данни?

Заявка за получаване на списъка с тригери в базата данни-

Select * from sys.objects where

21. Каква е разликата между UNION и UNION ALL?

  • UNION: За избор на свързана информация от две таблици се използва UNION команда. Подобно е на командата JOIN.
  • UNION All: Командата UNION ALL е равна на командата UNION, с изключение на това, че UNION ALL избира всички стойности. Той няма да премахне дублиращи се редове, вместо това ще извлече всички редове от всички таблици.

22. Как са представени глобалните временни таблици и техният обхват?

Глобалните временни таблици са представени с ## преди името на таблицата. Обхватът ще бъде извън сесията, докато местните временни таблици са вътре в сесията. Идентификаторът на сесията може да бъде намерен чрез @@ SPID.

23. Какви са разликите между Съхранена процедура и динамичния SQL?

Съхранената процедура е набор от изрази, който се съхранява в компилирана форма. Динамичният SQL е набор от изрази, които се конструират динамично по време на изпълнение и няма да се съхраняват в база данни и просто се изпълняват по време на изпълнение.

24. Какво е съпоставяне?

Сравняването е дефинирано, за да се определи редът на сортиране в таблица. Има три вида подреждане -

  1. Различаващ главни от малки букви
  2. Нечувствителен към буквите
  3. Двоична

25. Как можем да получим броя на записите в таблица?

Следват заявките, които могат да се използват за получаване на броя на записите в таблица -

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

26. Каква е командата, използвана за получаване на версията на SQL Server?

Select SERVERPROPERTY('productversion')

се използва за получаване на версията на SQL Server.

27. Какво е команда UPDATE_STATISTICS?

Командата UPDATE_STATISTICS се използва за актуализиране на индексите в таблиците, когато в индексите има голямо количество изтривания или модификации или групово копиране.

28. Каква е ползата от оператора SET NOCOUNT ON / OFF?

По подразбиране NOCOUNT е зададено на OFF и връща броя на засегнатите записи, когато командата се изпълнява. Ако потребителят не иска да показва броя на засегнатите записи, той може изрично да бъде зададен на ON- (SET NOCOUNT ON).

29. Коя таблица на SQL сървъра се използва за съхранение на скриптове на съхранени процедури?

Sys.SQL_Modules е таблица на SQL Server, използвана за съхраняване на скрипта на съхранена процедура. Името на съхранената процедура се записва в таблицата, наречена Sys.Procedures.

30. Какво представляват магическите таблици в SQL Server?

По време на DML операции като Вмъкване, Изтриване и Актуализиране, SQL Server създава магически таблици, за да съхранява стойностите по време на DML операции. Тези магически таблици се използват вътре в тригерите за транзакция на данни.

31. Каква е разликата между SUBSTR и CHARINDEX в SQL Server?

Функцията SUBSTR се използва за връщане на конкретна част от низ в даден низ. Но функцията CHARINDEX дава позиция на символа в даден определен низ.

SUBSTRING('Smiley',1,3)

Дава резултат като Smi

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

Дава 3 като резултат както се появява в 3 -то положение на низа

32. Как можете да създадете вход?

Можете да използвате следната команда, за да създадете вход

CREATE LOGIN MyLogin WITH PASSWORD = '123';

33. Какво е оператор ISNULL ()?

Функцията ISNULL се използва за проверка дали дадената стойност е NULL или не NULL в sql сървъра. Тази функция също така осигурява замяна на стойност с NULL.

34. Каква е ползата от клаузата FOR?

Клаузата FOR се използва главно за XML и опции на браузъра. Тази клауза се използва главно за показване на резултатите от заявката в XML формат или в браузъра.

35. Какъв ще бъде максималният брой индекс на таблица?

За SQL Server 2008 100 индексът може да се използва като максимален брой на таблица. 1 Клъстериран индекс и 999 неклъстерирани индекса на таблица могат да се използват в SQL Server.

1000 Index може да се използва като максимален брой на таблица. 1 Клъстериран индекс и 999 неклъстерирани индекса на таблица могат да се използват в SQL Server.

1 Клъстериран индекс и 999 неклъстерирани индекса на таблица могат да се използват в SQL Server.

36. Каква е разликата между COMMIT и ROLLBACK?

Всеки оператор между BEGIN и COMMIT става постоянен за базата данни, когато се изпълни COMMIT. Всеки оператор между BEGIN и ROOLBACK се връща в състоянието, когато ROLLBACK е бил изпълнен.

37. Каква е разликата между типовете varchar и nvarchar?

Varchar и nvarchar са еднакви, но единствената разлика е, че nvarhcar може да се използва за съхраняване на Unicode символи за множество езици и също така отнема повече място в сравнение с varchar.

38. Каква е ползата от @@ SPID?

A @@ SPID връща идентификатора на сесията на текущия потребителски процес.

39. Каква е командата, използвана за прекомпилиране на съхранената процедура по време на изпълнение?

Съхранената процедура може да бъде изпълнена с помощта на ключова дума, наречена RECOMPILE.

Пример

Exe  WITH RECOMPILE

Или можем да включим WITHRECOMPILE в самата съхранена процедура.

40. Как да изтрия дублиращи се редове в SQL Server?

Дублиращи се редове могат да бъдат изтрити с помощта на CTE и ROW NUMER характеристика на SQL Server.

41. Къде се съхраняват потребителски имена и пароли на SQL Server в SQL Server?

Потребителските имена и пароли се съхраняват в sys.server_principals и sys.sql_logins. Но паролите не се съхраняват в нормален текст.

42. Каква е разликата между GETDATE и SYSDATETIME?

И двете са еднакви, но GETDATE може да даде време до милисекунди и SYSDATETIME може да даде точност до наносекунди. SYSDATE TIME е по-точно от GETDATE.

43. Как могат да се копират данни от една таблица в друга таблица?

ВЪВЕДЕТЕ В ИЗБОР

Тази команда се използва за вмъкване на данни в вече създадена таблица.

ИЗБЕРЕТЕ В

Тази команда се използва за създаване на нова таблица и нейната структура и данни могат да бъдат копирани от съществуваща таблица.

44. Какво е TABLESAMPLE?

TABLESAMPLE се използва за произволно извличане на проба от редове, които са всички необходими за приложението. Взетите примерни редове се основават на процента редове.

45. Коя команда се използва за дефинирани от потребителя съобщения за грешки?

RAISEERROR е командата, използвана за генериране и иницииране на обработка на грешки за дадена сесия. Тези дефинирани от потребителя съобщения се съхраняват в таблицата sys.messages.

46. ​​Какво означават под XML тип данни?

Типът XML данни се използва за съхраняване на XML документи в базата данни на SQL Server. Колоните и променливите се създават и съхраняват XML копия в базата данни.

47. Какво е CDC?

CDC е съкратено като Change Data Capture, което се използва за улавяне на данните, които са променени наскоро. Тази функция присъства в SQL Server 2008.

48. Какво е SQL инжектиране?

SQL инжектирането е атака от злонамерени потребители, при която злонамерен код може да бъде вмъкнат в низове, които могат да бъдат предадени на екземпляр на SQL сървър за анализиране и изпълнение. Всички оператори трябва да проверяват за уязвимости, тъй като изпълнява всички синтактично валидни заявки, които получава.

Дори параметрите могат да бъдат манипулирани от опитни и опитни нападатели.

49. Какви са методите, използвани за защита срещу SQL инжекционна атака?

Следват методите, използвани за защита срещу SQL инжекционна атака:

  • Използвайте параметри за съхранени процедури
  • Филтриране на входните параметри
  • Използвайте събирането на параметри с Dynamic SQL
  • В подобна клауза, потребителски символи за бягство

50. Какво е филтриран индекс?

Филтрираният индекс се използва за филтриране на част от редовете в таблица за подобряване на производителността на заявките, поддръжка на индекса и намаляване на разходите за съхранение на индекса. Когато индексът се създава с клауза WHERE, тогава той се нарича Филтриран индекс