50 parasta SQL Server -haastattelun kysymystä ja vastausta (2026)

Tässä on SQL Server -haastattelukysymyksiä ja vastauksia tuoreemmille ja kokeneemmille hakijoille unelmatyönsä saamiseksi.

SQL Server -haastattelukysymyksiä ja vastauksia Freshersille


1. Mitkä ovat kaksi todennustilaa SQL Serverissä?

Todennustilaa on kaksi –

  • Windows tila
  • Sekoitustila

Tiloja voidaan muuttaa valitsemalla SQL Server -määritysominaisuuksien työkaluvalikko ja valitsemalla suojaussivu.

👉 Ilmainen PDF-lataus: SQL Server -haastattelukysymykset ja vastaukset


2. Mikä on SQL Profiler?

SQL Profiler on työkalu, jonka avulla järjestelmänvalvoja voi seurata SQL-palvelimen tapahtumia. Tätä käytetään pääasiassa tietojen keräämiseen ja tallentamiseen tiedoston tai taulukon jokaisesta tapahtumasta analysointia varten.


3. Mikä on rekursiivinen tallennettu proseduuri?

SQL Server tukee rekursiivista tallennettua menettelyä, joka kutsuu itse. Rekursiivinen tallennettu proseduuri voidaan määritellä ongelmanratkaisumenetelmäksi, jossa ratkaisu saapuu toistuvasti. Se voi pesiytyä jopa 32 tasolle.

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. Mitä eroja on paikallisten ja globaalien väliaikaisten taulukoiden välillä?

  • Paikalliset väliaikaiset taulukot ovat näkyvissä, kun yhteys on olemassa, ja ne poistetaan, kun yhteys suljetaan.
CREATE TABLE #<tablename>
  • Yleiset väliaikaiset taulukot näkyvät kaikille käyttäjille, ja ne poistetaan, kun sen luonut yhteys suljetaan.
CREATE TABLE ##<tablename>

5. Mikä on CHECK-rajoitus?

TARKISTA-rajoitusta voidaan soveltaa taulukon sarakkeeseen rajoittamaan sarakkeeseen sijoitettavia arvoja. Tarkista rajoitus on valvoa eheyttä.


6. Voidaanko SQL-palvelimia linkittää muihin palvelimiin?

SQL-palvelin voidaan liittää mihin tahansa tietokantaan, jossa on OLE-DB-palveluntarjoaja antaa linkin. Esimerkki: Oracle on OLE-DB-toimittaja, jolla on linkki yhteyden muodostamiseksi SQL-palvelinryhmään.


7. Mikä on alikysely ja sen ominaisuudet?

Alakysely on kysely, joka voidaan upottaa pääkyselyyn, kuten Select-, Update-, Insert- tai Delete-käskyihin. Tätä voidaan käyttää, kun lauseke on sallittu. Alikyselyn ominaisuudet voidaan määritellä seuraavasti

  • Alakyselyssä ei saa olla lausekkeen mukaista järjestystä
  • Alikysely tulee sijoittaa pääkyselyn vertailuoperaattorin oikealle puolelle
  • Alakysely tulee sulkea suluissa, koska se on suoritettava ensin ennen pääkyselyä
  • Useampi kuin yksi alikysely voidaan sisällyttää

8. Mitä alikyselytyyppejä on?

Alakyselyitä on kolmea tyyppiä –

  • Yksirivinen alikysely, joka palauttaa vain yhden rivin
  • Usean rivin alikysely, joka palauttaa useita rivejä
  • Usean sarakkeen alikysely, joka palauttaa useita sarakkeita pääkyselyyn. Tämän alikyselyn tuloksen myötä pääkysely suoritetaan.

9. Mikä on SQL-palvelinagentti?

SQL Server -agentilla on tärkeä rooli SQL-palvelimen järjestelmänvalvojan (DBA) päivittäisissä tehtävissä. Palvelinagentin tarkoitus on toteuttaa tehtävät helposti ajoitusmoottorilla, joka mahdollistaa työmme suorittamisen ajoitettuna päivänä ja kellonaikana.


10. Mitä ovat ajoitetut tehtävät SQL Serverissä?

Ajoitettuja tehtäviä tai töitä käytetään automatisoimaan prosesseja, jotka voidaan ajaa ajoitettuun aikaan säännöllisin väliajoin. Tämä tehtävien ajoitus auttaa vähentämään ihmisen puuttumista yöaikaan ja ruokinta voidaan tehdä tiettyyn aikaan. Käyttäjä voi myös tilata tehtäviä, joissa se tulee luoda.


11. Mikä on COALESCE SQL Serverissä?

COALESCEa käytetään palauttamaan ensimmäinen ei-nolla lauseke argumenttien sisällä. Tätä funktiota käytetään palauttamaan ei-nolla useammasta kuin yhdestä argumenttien sarakkeesta.

Esimerkki -

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

12. Kuinka poikkeuksia voidaan käsitellä SQL Server -ohjelmoinnissa?

Poikkeukset käsitellään TRY—-CATCH-rakenteilla ja se käsitellään kirjoittamalla komentosarjat TRY-lohkoon ja virheiden käsittely CATCH-lohkoon.


13. Mikä on FLOOR-toiminnon tarkoitus?

FLOOR-funktiota käytetään pyöristämään ei-kokonaislukuarvo edelliseen pienimpään kokonaislukuun. Esimerkki on annettu

FLOOR(6.7)

Palautus 6.


14. Voimmeko tarkistaa tietokannan lukot? Jos näin on, miten voimme tarkistaa tämän lukon?

Kyllä, voimme tarkistaa tietokannan lukot. Se voidaan saavuttaa käyttämällä sisäänrakennettua tallennettua menettelyä nimeltä sp_lock.


15. Mitä hyötyä SIGN-toiminnosta on?

SIGN-toimintoa käytetään määrittämään, onko määritetty luku positiivinen, negatiivinen vai nolla. Tämä palauttaa +1, -1 tai 0.

Esimerkki -

SIGN(-35) returns -1

16. Mikä on laukaisin?

Triggereitä käytetään SQL-koodierän suorittamiseen, kun lisäys-, päivitys- tai poistokomentoja suoritetaan taulukkoa vastaan. Triggerit käynnistyvät tai suoritetaan automaattisesti, kun tietoja muutetaan. Se voidaan suorittaa automaattisesti lisäys-, poisto- ja päivitystoimintojen yhteydessä.


17. Millaisia ​​laukaisimia ovat?

Triggereitä on neljää tyyppiä ja ne ovat:

  • liite
  • Poista
  • Päivitykset
  • Sijasta

18. Mikä on Identiteetti-sarake insertiolausekkeissa?

IDENTITY-saraketta käytetään taulukon sarakkeissa sarakkeen tekemiseen automaattiseksi lisänumeroksi tai korvikeavaimeksi.


19. Mikä on Bulkcopy SQL:ssä?

Bulkcopy on työkalu, jota käytetään suurten tietomäärien kopioimiseen taulukoista. Tätä työkalua käytetään suurten tietomäärien lataamiseen SQL Serveriin.


20. Mitä kyselyä käytetään tietokannan laukaisimien luettelon saamiseksi?

Kysely saadaksesi luettelon laukaisimista tietokannassa-

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

21. Mitä eroa on UNION ja UNION ALL välillä?

  • UNION: Liittyvien tietojen valitsemiseen kahdesta taulukosta käytetään UNION-komentoa. Se on samanlainen kuin JOIN-komento.
  • UNION All: UNION ALL -komento on sama kuin UNION-komento, paitsi että UNION ALL valitsee kaikki arvot. Se ei poista päällekkäisiä rivejä, vaan se hakee kaikki rivit kaikista taulukoista.

22. Miten globaalit väliaikaiset taulukot esitetään ja niiden laajuus?

Yleiset väliaikaiset taulukot esitetään numerolla ## ennen taulukon nimeä. Laajuus on istunnon ulkopuolella, kun taas paikalliset väliaikaiset taulukot ovat istunnon sisällä. Istuntotunnus löytyy @@SPID:stä.


SQL Server -haastattelukysymyksiä ja vastauksia kokeneille

23. Mitä eroja on Stored Procedure:n ja dynaamisen SQL:n välillä?

Stored Procedure on joukko lauseita, jotka on tallennettu käännetyssä muodossa. Dynaaminen SQL on joukko lauseita, jotka muodostetaan dynaamisesti ajon aikana ja joita ei tallenneta tietokantaan, vaan se yksinkertaisesti suoritetaan ajon aikana.


24. Mikä on Collation?

Lajittelu määritellään lajittelujärjestyksen määrittämiseksi taulukossa. Lajittelujärjestystä on kolme tyyppiä -

  1. Case sensitive
  2. Kirjainkoosta riippumaton
  3. Binaarinen

25. Miten saamme taulukon tietueiden määrän?

Seuraavia kyselyitä voidaan käyttää tietueiden määrän saamiseksi taulukossa -

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

26. Mitä komentoa käytetään SQL Server -version hakemiseen?

Select SERVERPROPERTY('productversion')

käytetään SQL Server -version hankkimiseen.


27. Mikä on UPDATE_STATISTICS-komento?

UPDATE_STATISTICS-komentoa käytetään taulukoiden indeksien päivittämiseen, kun indekseissä on suuri määrä poistoja tai muutoksia tai joukkokopioita.


28. Mitä hyötyä SET NOCOUNT ON/OFF -lauseesta on?

Oletusarvoisesti NOCOUNT on POIS PÄÄLTÄ ja se palauttaa niiden tietueiden määrän, joihin on vaikuttanut, aina kun komento suoritetaan. Jos käyttäjä ei halua näyttää kyseisten tietueiden määrää, se voidaan asettaa nimenomaisesti arvoon ON- (SET NOCOUNT ON).


29. Mitä SQL-palvelintaulukkoa käytetään tallennettujen toimintoskriptien säilyttämiseen?

Sys.SQL_Modules on SQL Server -taulukko, jota käytetään tallennetun toimintosarjan komentosarjan tallentamiseen. Tallennetun toimintosarjan nimi tallennetaan Sys.Procedures-nimiseen taulukkoon.


30. Mitä ovat maagiset taulukot SQL Serverissä?

DML-toimintojen, kuten Insert, Delete ja Update, aikana SQL Server luo maagisia taulukoita säilyttääkseen arvot DML-toimintojen aikana. Näitä maagisia taulukoita käytetään datatransaktioiden triggereissä.


31. Mitä eroa on SUBSTR:n ja CHARINDEXin välillä SQL Serverissä?

SUBSTR-funktiota käytetään palauttamaan tietyn osan merkkijonosta tietyssä merkkijonossa. Mutta CHARINDEX-funktio antaa merkin sijainnin tietyssä määritetyssä merkkijonossa.

SUBSTRING('Smiley',1,3)

Antaa tuloksen Smi

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

Antaa 3 tuloksena, kuten minä näyn 3:ssard langan sijainti


32. Kuinka voit luoda kirjautumistunnuksen?

Voit käyttää seuraavaa komentoa kirjautumisen luomiseen

CREATE LOGIN MyLogin WITH PASSWORD = '123';

33. Mikä on ISNULL()-operaattori?

ISNULL-funktiota käytetään tarkistamaan, onko annettu arvo NULL vai ei NULL sql-palvelimessa. Tämä toiminto mahdollistaa myös arvon korvaamisen NULL-arvolla.


34. Mitä hyötyä FOR-lausekkeesta on?

FOR-lausetta käytetään pääasiassa XML ja selainvaihtoehdot. Tätä lauseketta käytetään pääasiassa kyselyn tulosten näyttämiseen XML-muodossa tai selaimessa.


35. Mikä on indeksien enimmäismäärä taulukkoa kohden?

SQL Server 2008:ssa 100-indeksiä voidaan käyttää enimmäismääränä taulukkoa kohden. 1 Clustered Index ja 999 ei-klusteroitua indeksiä taulukkoa kohti voidaan käyttää SQL Serverissä.

1000 Indeksiä voidaan käyttää enimmäismääränä taulukkoa kohden. 1 Clustered Index ja 999 ei-klusteroitua indeksiä taulukkoa kohti voidaan käyttää SQL Serverissä.

1 Clustered Index ja 999 ei-klusteroitua indeksiä taulukkoa kohti voidaan käyttää SQL Serverissä.


36. Mitä eroa on COMMIT:n ja ROLLBACKin välillä?

Jokainen käsky BEGIN ja COMMIT välillä muuttuu pysyväksi tietokannassa, kun COMMIT suoritetaan. Jokainen BEGIN ja ROOLBACK välinen käsky palautetaan tilaan, jossa ROLLBACK suoritettiin.


37. Mitä eroa on varchar- ja nvarchar-tyyppien välillä?

Varchar ja nvarchar ovat samat, mutta ainoa ero on, että nvarhcarilla voidaan tallentaa Unicode-merkkejä useille kielille ja se vie myös enemmän tilaa varchariin verrattuna.


38. Mitä hyötyä @@SPID:stä on?

@@SPID palauttaa nykyisen käyttäjäprosessin istuntotunnuksen.


39. Mitä komentoa käytetään tallennetun toimintosarjan uudelleenkääntämiseen ajon aikana?

Tallennetut menettelyt voidaan suorittaa avainsanan RECOMPILE avulla.

esimerkki

Exe <SPName>  WITH RECOMPILE

Tai voimme sisällyttää WITHRECOMPILE itse tallennettuun menettelyyn.


40. Kuinka poistaa päällekkäiset rivit SQL Serveristä?

Päällekkäiset rivit voidaan poistaa käyttämällä SQL Serverin CTE- ja ROW NUMER -ominaisuutta.


41. Mihin SQL Server -käyttäjätunnukset ja salasanat on tallennettu SQL Serveriin?

Käyttäjänimet ja salasanat tallennetaan sys.server_principals- ja sys.sql_logins-kansioihin. Mutta salasanoja ei tallenneta tavalliseen tekstiin.


42. Mitä eroa on GETDATE ja SYSDATETIME välillä?

Molemmat ovat samoja, mutta GETDATE voi antaa aikaa millisekunteihin ja SYSDATETIME voi antaa tarkkuuden nanosekuntiin. SYSDATE TIME on tarkempi kuin GETDATE.


43. Miten tietoja voidaan kopioida taulukosta toiseen?

INSERT INTO SELECT

Tätä komentoa käytetään tietojen lisäämiseen jo luotuun taulukkoon.

SELECT INTO

Tätä komentoa käytetään uuden taulukon luomiseen ja sen rakenne ja tiedot voidaan kopioida olemassa olevasta taulukosta.


44. Mikä on TABLESAMPLE?

TABLESAMPLEa käytetään poimimaan satunnaisesti näyte riveistä, jotka kaikki ovat sovelluksen kannalta tarpeellisia. Otetut näyterivit perustuvat rivien prosenttiosuuteen.


45. Mitä komentoa käytetään käyttäjän määrittämiin virheilmoituksiin?

RAISEERROR on komento, jota käytetään luomaan ja käynnistämään virheenkäsittely tietyssä istunnossa. Nämä käyttäjän määrittämät viestit tallennetaan sys.messages-taulukkoon.


46. ​​Mitä XML-tietotyypillä tarkoitetaan?

XML-tietotyyppiä käytetään XML-dokumenttien tallentamiseen SQL Server-tietokanta. Sarakkeet ja muuttujat luodaan ja tallentavat XML-esiintymiä tietokantaan.


47. Mikä on CDC?

CDC:stä käytetään lyhennettä Change Data Capture, jota käytetään äskettäin muuttuneiden tietojen kaappaamiseen. Tämä ominaisuus on SQL Server 2008:ssa.


48. Mikä on SQL-injektio?

SQL-injektio on haitallisten käyttäjien hyökkäys, jossa haitallista koodia voidaan lisätä merkkijonoihin, jotka voidaan välittää SQL-palvelimen esiintymään jäsentämistä ja suorittamista varten. Kaikki lausunnot on tarkistettava haavoittuvuuksien varalta, koska se suorittaa kaikki vastaanottamansa syntaktisesti kelvolliset kyselyt.

Taitavat ja kokeneet hyökkääjät voivat manipuloida jopa parametreja.


49. Mitä menetelmiä käytetään suojautumiseen SQL-injektiohyökkäyksiltä?

Seuraavia menetelmiä käytetään suojautumiseen SQL-injektiohyökkäykseltä:

  • Käytä tallennettuja toimenpiteitä varten parametreja
  • Syöttöparametrien suodatus
  • Käytä parametrikokoelmaa dynaamisen SQL:n kanssa
  • Samankaltaisessa lausekkeessa käyttäjän Escape-merkit

50. Mikä on suodatettu indeksi?

Suodatettua hakemistoa käytetään suodattamaan joitakin taulukon rivejä kyselyn suorituskyvyn parantamiseksi, indeksin ylläpidon ja indeksin tallennuskustannusten pienentämiseksi. Kun indeksi luodaan WHERE-lauseella, sitä kutsutaan suodatetuksi hakemistoksi.

Nämä haastattelukysymykset auttavat myös vivassasi (suullinen)

Tiivistä tämä viesti seuraavasti: