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 Server (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?

Функція ЗНАК використовується, щоб визначити, чи вказане число є Позитивним, Негативним та Нульовим. Це поверне + 1, -1 або 0.

Приклад -

SIGN(-35) returns -1

16. Що таке тригер?

Тригери використовуються для виконання партії коду SQL, коли команди вставки, оновлення або видалення виконуються щодо таблиці. Тригери автоматично запускаються або виконуються при зміні даних. Він може бути виконаний автоматично під час операцій вставки, видалення та оновлення.

17. Які існують типи тригерів?

Існує чотири типи тригерів, і це:

  • Вставити
  • Видалити
  • Оновлення
  • Замість

18. Що таке стовпець IDENTITY у операторах вставки?

ІДЕНТИФІКАЦІЙНИЙ стовпець використовується у стовпцях таблиці, щоб зробити цей стовпець автоматичним додатковим числом або сурогатним ключем.

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- (ВСТАНОВИТИ 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 в результаті, як я з'являється в третьому положенні рядка

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 можна використовувати як максимальне число в таблиці. 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?

Ідентифікатор @@ 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 використовується для випадкового вилучення вибірки рядків, які всі необхідні для програми. Взяті зразки рядків базуються на відсотках рядків.

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, він називається відфільтрованим індексом