Top 50 de întrebări și răspunsuri la interviu SQL Server (2025)

Iată întrebări și răspunsuri la interviul SQL Server pentru candidații mai proaspeți, precum și cu experiență, pentru a obține jobul visat.

Întrebări și răspunsuri la interviu SQL Server pentru cei care sunt proaspăți


1. Care sunt cele două moduri de autentificare în SQL Server?

Există două moduri de autentificare -

  • Windows mod
  • Mod mixt

Modurile pot fi schimbate selectând meniul de instrumente din proprietățile de configurare SQL Server și alegeți pagina de securitate.

👉 Descărcare PDF gratuită: Întrebări și răspunsuri la interviu SQL Server


2. Ce este SQL Profiler?

SQL Profiler este un instrument care permite administratorului de sistem să monitorizeze evenimentele din serverul SQL. Acesta este folosit în principal pentru a captura și salva date despre fiecare eveniment dintr-un fișier sau un tabel pentru analiză.


3. Ce este procedura stocată recursivă?

SQL Server acceptă procedura stocată recursivă care apelează de la sine. Procedura stocată recursiv poate fi definită ca o metodă de rezolvare a problemelor în care soluția este sosită în mod repetitiv. Se poate cuibăra până la 32 de niveluri.

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. Care sunt diferențele dintre tabelele temporare locale și globale?

  • Tabelele temporare locale sunt vizibile atunci când există o conexiune și sunt șterse când conexiunea este închisă.
CREATE TABLE #<tablename>
  • Tabelele temporare globale sunt vizibile pentru toți utilizatorii și sunt șterse atunci când conexiunea care le-a creat este închisă.
CREATE TABLE ##<tablename>

5. Ce este constrângerea CHECK?

O constrângere CHECK poate fi aplicată unei coloane dintr-un tabel pentru a limita valorile care pot fi plasate într-o coloană. Constrângerea de verificare este de a impune integritatea.


6. Se pot conecta serverele SQL la alte servere?

SQL Server poate fi conectat la orice bază de date care are furnizor OLE-DB pentru a oferi un link. Exemplu: Oracle are un furnizor OLE-DB care are link pentru a se conecta cu grupul de server SQL.


7. Ce este subinterogarea și proprietățile acesteia?

O subinterogare este o interogare care poate fi imbricată într-o interogare principală, cum ar fi instrucțiunile Select, Update, Insert sau Delete. Acesta poate fi folosit atunci când exprimarea este permisă. Proprietățile subinterogării pot fi definite ca

  • O subinterogare nu ar trebui să aibă ordine prin clauză
  • O interogare secundară trebuie plasată în partea dreaptă a operatorului de comparare al interogării principale
  • O subinterogare ar trebui să fie inclusă în paranteză, deoarece trebuie executată mai întâi înainte de interogarea principală
  • Poate fi inclusă mai mult de o subinterogare

8. Care sunt tipurile de subinterogare?

Există trei tipuri de subinterogare -

  • Subinterogare cu un singur rând care returnează un singur rând
  • Subinterogare cu mai multe rânduri care returnează mai multe rânduri
  • Subinterogare cu mai multe coloane care returnează mai multe coloane la interogarea principală. Cu rezultatul respectiv al interogării secundare, interogarea principală va fi executată.

9. Ce este agentul server SQL?

Agentul SQL Server joacă un rol vital în sarcinile de zi cu zi ale administratorului de server SQL (DBA). Scopul agentului server este de a implementa sarcinile cu ușurință cu motorul de planificare care permite joburilor noastre să ruleze la data și ora programate.


10. Ce sunt sarcinile programate în SQL Server?

Sarcinile sau joburile programate sunt folosite pentru a automatiza procesele care pot fi executate la o oră programată la un interval regulat. Această programare a sarcinilor ajută la reducerea intervenției umane în timpul nopții, iar hrănirea poate fi făcută la o anumită oră. Utilizatorul poate comanda, de asemenea, sarcinile în care trebuie să fie generat.


11. Ce este COALESCE în SQL Server?

COALESCE este folosit pentru a returna prima expresie non-nulă din argumente. Această funcție este folosită pentru a returna un non-null din mai mult de o coloană din argumente.

Exemplu -

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

12. Cum pot fi gestionate excepțiile în programarea SQL Server?

Excepțiile sunt gestionate folosind constructele TRY—-CATCH și sunt gestionate prin scrierea de scripturi în blocul TRY și tratarea erorilor în blocul CATCH.


13. Care este scopul funcției FLOOR?

Funcția FLOOR este utilizată pentru a rotunji o valoare care nu este întreagă la cel mai mic număr întreg anterior. Este dat exemplu

FLOOR(6.7)

Returnează 6.


14. Putem verifica încuietorile în baza de date? Dacă da, cum putem face această verificare de blocare?

Da, putem verifica încuietorile din baza de date. Poate fi realizat prin utilizarea procedurii stocate încorporate numită sp_lock.


15. La ce folosește funcția SIGN?

Funcția SIGN este utilizată pentru a determina dacă numărul specificat este pozitiv, negativ și zero. Aceasta va returna +1, -1 sau 0.

Exemplu -

SIGN(-35) returns -1

16. Ce este un Trigger?

Declanșatoarele sunt utilizate pentru a executa un lot de cod SQL atunci când comenzile de inserare sau actualizare sau ștergere sunt executate pe un tabel. Declanșatoarele sunt declanșate sau executate automat atunci când datele sunt modificate. Poate fi executat automat la operațiunile de inserare, ștergere și actualizare.


17. Care sunt tipurile de Trigger?

Există patru tipuri de declanșatori și acestea sunt:

  • Insera
  • Șterge
  • Actualizează
  • În loc de

18. Ce este o coloană IDENTITATE în instrucțiunile insert?

Coloana IDENTITY este folosită în coloanele de tabel pentru a face acea coloană ca număr incremental automat sau o cheie surogat.


19. Ce este Bulkcopy în SQL?

Bulkcopy este un instrument folosit pentru a copia cantități mari de date din tabele. Acest instrument este folosit pentru a încărca o cantitate mare de date în SQL Server.


20. Care va fi interogarea folosită pentru a obține lista de declanșatoare dintr-o bază de date?

Interogare pentru a obține lista de declanșatoare din baza de date-

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

21. Care este diferența dintre UNION și UNION ALL?

  • UNION: Pentru a selecta informații aferente din două tabele se folosește comanda UNION. Este similar cu comanda JOIN.
  • UNION All: Comanda UNION ALL este egală cu comanda UNION, cu excepția faptului că UNION ALL selectează toate valorile. Nu va elimina rândurile duplicate, ci va prelua toate rândurile din toate tabelele.

22. Cum sunt reprezentate tabelele temporare globale și domeniul de aplicare al acestora?

Tabelele temporare globale sunt reprezentate cu ## înaintea numelui tabelului. Domeniul de aplicare va fi în afara sesiunii, în timp ce tabelele temporare locale sunt în interiorul sesiunii. ID-ul sesiunii poate fi găsit folosind @@SPID.


Întrebări și răspunsuri la interviu SQL Server pentru cei cu experiență

23. Care sunt diferențele dintre procedura stocată și SQL dinamic?

Procedura stocată este un set de instrucțiuni care este stocat într-o formă compilată. Dynamic SQL este un set de instrucțiuni care sunt construite dinamic în timpul rulării și nu vor fi stocate într-o bază de date și pur și simplu se execută în timpul rulării.


24. Ce este Collation?

Colaţionarea este definită pentru a specifica ordinea de sortare într-un tabel. Există trei tipuri de ordine de sortare -

  1. Caz sensibil
  2. Indiferent de majuscule
  3. Binar

25. Cum putem obține numărătoarea numărului de înregistrări dintr-un tabel?

Următoarele sunt interogările care pot fi folosite pentru a obține numărul de înregistrări dintr-un tabel -

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

26. Care este comanda folosită pentru a obține versiunea de SQL Server?

Select SERVERPROPERTY('productversion')

este folosit pentru a obține versiunea de SQL Server.


27. Ce este comanda UPDATE_STATISTICS?

Comanda UPDATE_STATISTICS este folosită pentru a actualiza indecșii de pe tabele atunci când există o cantitate mare de ștergeri sau modificări sau copii în bloc au avut loc în indecși.


28. La ce folosește instrucțiunea SET NOCOUNT ON/OFF?

În mod implicit, NOCOUNT este setat la OFF și returnează numărul de înregistrări afectate de fiecare dată când comanda este executată. Dacă utilizatorul nu dorește să afișeze numărul de înregistrări afectate, acesta poate fi setat în mod explicit la ON- (SET NOCOUNT ON).


29. Ce tabel de server SQL este folosit pentru a păstra scripturile de proceduri stocate?

Sys.SQL_Modules este un tabel SQL Server folosit pentru a stoca scriptul procedurii stocate. Numele procedurii stocate este salvat în tabelul numit Sys.Procedures.


30. Ce sunt Magic Tables în SQL Server?

În timpul operațiunilor DML precum Insert, Delete și Update, SQL Server creează tabele magice pentru a păstra valorile în timpul operațiunilor DML. Aceste tabele magice sunt utilizate în interiorul declanșatorilor pentru tranzacția de date.


31. Care este diferența dintre SUBSTR și CHARINDEX în SQL Server?

Funcția SUBSTR este utilizată pentru a returna o anumită porțiune de șir dintr-un șir dat. Dar, funcția CHARINDEX oferă poziția caracterului într-un șir specificat.

SUBSTRING('Smiley',1,3)

Dă rezultat ca Smi

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

Oferă 3 ca rezultat așa cum apare I în 3rd poziţia şirului


32. Cum poți crea o autentificare?

Puteți utiliza următoarea comandă pentru a crea o autentificare

CREATE LOGIN MyLogin WITH PASSWORD = '123';

33. Ce este operatorul ISNULL()?

Funcția ISNULL este utilizată pentru a verifica dacă valoarea dată este NULL sau nu NULL în serverul SQL. Această funcție oferă și înlocuirea unei valori cu NULL.


34. La ce folosește clauza FOR?

Clauza FOR este folosită în principal pentru XML și opțiunile browserului. Această clauză este utilizată în principal pentru a afișa rezultatele interogării în format XML sau în browser.


35. Care va fi numărul maxim de indici pe tabel?

Pentru SQL Server 2008 100 Index poate fi utilizat ca număr maxim pe tabel. 1 Clustered Index și 999 de indecși non-cluster per tabel pot fi utilizați în SQL Server.

1000 Index poate fi folosit ca număr maxim pe tabel. 1 Clustered Index și 999 de indecși non-cluster per tabel pot fi utilizați în SQL Server.

1 Clustered Index și 999 de indecși non-cluster per tabel pot fi utilizați în SQL Server.


36. Care este diferența dintre COMMIT și ROLLBACK?

Fiecare instrucțiune între BEGIN și COMMIT devine persistentă în baza de date atunci când este executată COMMIT. Fiecare instrucțiune între BEGIN și ROOLBACK revine la starea când ROLLBACK a fost executat.


37. Care este diferența dintre tipurile varchar și nvarchar?

Varchar și nvarchar sunt aceleași, dar singura diferență este că nvarhcar poate fi folosit pentru a stoca caractere Unicode pentru mai multe limbi și, de asemenea, ocupă mai mult spațiu în comparație cu varchar.


38. La ce folosește @@SPID?

Un @@SPID returnează ID-ul de sesiune al procesului utilizatorului curent.


39. Care este comanda folosită pentru a Recopila procedura stocată în timpul rulării?

Procedura stocată poate fi executată cu ajutorul cuvântului cheie numit RECOMPILE.

Exemplu

Exe <SPName>  WITH RECOMPILE

Sau putem include WITHECOMPILE în procedura stocată în sine.


40. Cum să ștergeți rândurile duplicate în SQL Server?

Rândurile duplicate pot fi șterse folosind funcția CTE și ROW NUMER a SQL Server.


41. Unde sunt stocate numele de utilizator și parolele SQL Server în SQL Server?

Numele de utilizator și parolele sunt stocate în sys.server_principals și sys.sql_logins. Dar parolele nu sunt stocate în text normal.


42. Care este diferența dintre GETDATE și SYSDATETIME?

Ambele sunt aceleași, dar GETDATE poate oferi timp până la milisecunde și SYSDATETIME poate oferi precizie până la nanosecunde. SYSDATE TIME este mai precisă decât GETDATE.


43. Cum pot fi copiate datele dintr-un tabel în altul?

INSERT INTO SELECT

Această comandă este folosită pentru a introduce date într-un tabel care este deja creat.

SELECT INTO

Această comandă este folosită pentru a crea un tabel nou, iar structura și datele acestuia pot fi copiate din tabelul existent.


44. Ce este TABLESAMPLE?

TABLESAMPLE este folosit pentru a extrage aleatoriu mostre de rânduri care sunt toate necesare pentru aplicație. Eșantionul de rânduri luate se bazează pe procentul de rânduri.


45. Ce comandă este folosită pentru mesajele de eroare definite de utilizator?

RAISEERROR este comanda utilizată pentru a genera și inițiază procesarea erorilor pentru o anumită sesiune. Acele mesaje definite de utilizator sunt stocate în tabelul sys.messages.


46. ​​Ce înseamnă XML Datatype?

Tipul de date XML este utilizat pentru a stoca documente XML în Baza de date SQL Server. Coloanele și variabilele sunt create și stochează instanțe XML în baza de date.


47. Ce este CDC?

CDC este abreviat ca Change Data Capture, care este folosit pentru a captura datele care au fost modificate recent. Această caracteristică este prezentă în SQL Server 2008.


48. Ce este injectarea SQL?

Injecția SQL este un atac al utilizatorilor rău intenționați în care codul rău intenționat poate fi inserat în șiruri de caractere care pot fi transmise unei instanțe de server SQL pentru analizare și execuție. Toate instrucțiunile trebuie verificate pentru vulnerabilități, deoarece execută toate interogările valide sintactic pe care le primește.

Chiar și parametrii pot fi manipulați de atacatorii calificați și experimentați.


49. Care sunt metodele folosite pentru a proteja împotriva atacurilor prin injecție SQL?

Următoarele sunt metodele utilizate pentru a proteja împotriva atacului de injecție SQL:

  • Utilizați parametrii pentru procedurile stocate
  • Filtrarea parametrilor de intrare
  • Utilizați colecția de parametri cu Dynamic SQL
  • În clauza similară, utilizatorul evadează caractere

50. Ce este Filtered Index?

Indexul filtrat este folosit pentru a filtra o parte din rândurile dintr-un tabel pentru a îmbunătăți performanța interogărilor, întreținerea indexului și pentru a reduce costurile de stocare a indexului. Când indexul este creat cu clauza WHERE, atunci se numește Index filtrat.

Aceste întrebări de interviu vă vor ajuta, de asemenea, în viva (orale)