Топ 50 на въпросите и отговорите за интервю за SQL Server (2026)

Ето въпроси и отговори за интервю за SQL Server както за по-свежи, така и за опитни кандидати, които да получат мечтаната работа.

Въпроси и отговори за интервю за SQL Server за първокурсници


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

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

  • Windows вид
  • Смесен режим

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

👉 Безплатно изтегляне на PDF: Въпроси и отговори за интервю за SQL Server


2. Какво е SQL Profiler?

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


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

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

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

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

5. Какво е ограничение CHECK?

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


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

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


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

Подзаявката е заявка, която може да бъде вложена в основна заявка, като изрази Select, Update, Insert или Delete. Това може да се използва, когато изразяването е разрешено. Свойствата на подзаявката могат да бъдат дефинирани като

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

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. Какво представлява колона IDENTITY в операторите за вмъкване?

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


19. Какво е групово копиране в SQL?

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


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

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

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

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

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

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

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


Въпроси и отговори за интервю за SQL Server за опитни

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

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


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

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

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

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

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

Select * from <tablename> Select count(*) from <tablename> 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 като резултат, тъй като I се появява в 3rd позиция на струната


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

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

CREATE LOGIN MyLogin WITH PASSWORD = '123';

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

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


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

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


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

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

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

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


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

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


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

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


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

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


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

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

Пример

Exe <SPName>  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. Как данните могат да бъдат копирани от една таблица в друга?

INSERT INTO SELECT

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

SELECT INTO

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


44. Какво е TABLESAMPLE?

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


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
  • В клауза like, потребителски екраниращи знаци

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

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

Тези въпроси за интервюто също ще ви по��огнат във вашата viva (устна)

Обобщете тази публикация с: