50 geriausių „SQL Server“ interviu klausimų ir Atsakymai

Turinys

Atsisiųsti PDF

1. Kokie yra du autentifikavimo režimai „SQL Server“?

Yra du autentifikavimo režimai -

  • „Windows“ režimas
  • Mišrus režimas

Režimus galima pakeisti pasirinkus įrankių meniu „SQL Server“ konfigūravimo ypatybes ir pasirinkus saugos puslapį.

2. Kas yra „SQL Profiler“?

„SQL Profiler“ yra įrankis, leidžiantis sistemos administratoriui stebėti įvykius SQL serveryje. Tai daugiausia naudojama duomenims apie kiekvieną failo ar lentelės įvykį surinkti ir išsaugoti analizei.

3. Kas yra rekursinė saugoma procedūra?

„SQL Server“ palaiko rekursines saugomas procedūras, kurios pačios iškviečia. Rekursiškai saugoma procedūra gali būti apibrėžta kaip problemos sprendimo metodas, kai sprendimas pateikiamas pakartotinai. Jame gali būti lizdas iki 32 lygių.

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. Kuo skiriasi vietinės ir pasaulinės laikinos lentelės?

  • Vietinės laikinos lentelės matomos, kai yra ryšys, ir ištrinamos, kai ryšys yra uždarytas.
CREATE TABLE #
  • Visuotinės laikinos lentelės yra matomos visiems vartotojams ir ištrinamos, kai uždaromas jas sukūręs ryšys.
CREATE TABLE ##

5. Kas yra CHECK suvaržymas?

Lentelėje esančiam stulpeliui gali būti taikomas CHECK apribojimas, kad būtų apribotos vertės, kurias galima įdėti į stulpelį. Patikrinimo apribojimas yra užtikrinti vientisumą.

6. Ar SQL serveriai gali būti susieti su kitais serveriais?

SQL serverį galima prijungti prie bet kurios duomenų bazės, kurioje OLE-DB teikėjas teikia nuorodą. Pavyzdys: „Oracle“ turi OLE-DB teikėją, kuris turi nuorodą prisijungti prie SQL serverių grupės.

7. Kas yra antrinė užklausa ir jos savybės?

Papildoma užklausa yra užklausa, kurią galima įterpti į pagrindinę užklausą, pvz., „Select“, „Update“, „Insert“ arba „Delete“. Tai galima naudoti, kai leidžiama išraiška. Antrinės užklausos ypatybes galima apibrėžti kaip

  • Antrinėje užklausoje neturėtų būti tvarka pagal sąlygą
  • Antrinė užklausa turėtų būti dedama dešinėje pagrindinės užklausos palyginimo operatoriaus pusėje
  • Antrinė užklausa turėtų būti uždaryta skliausteliuose, nes ją reikia atlikti pirmiausia prieš pagrindinę užklausą
  • Galima įtraukti daugiau nei vieną antrinę užklausą

8. Kokie yra antrinės užklausos tipai?

Yra trys antrinių užklausų tipai -

  • Vienos eilutės antrinė užklausa, kuri pateikia tik vieną eilutę
  • Kelių eilučių antrinė užklausa, kuri pateikia kelias eilutes
  • Kelių stulpelių antrinė užklausa, kuri grąžina kelis stulpelius į pagrindinę užklausą. Su tuo antrinės užklausos rezultatu bus vykdoma pagrindinė užklausa.

9. Kas yra SQL serverio agentas?

„SQL Server“ agentas vaidina svarbų vaidmenį atliekant kasdienes SQL serverio administratoriaus (DBA) užduotis. Serverio agento tikslas yra lengvai įgyvendinti užduotis naudojant planavimo programą, kuri leidžia mūsų darbams vykdyti numatytą datą ir laiką.

10. Kokios yra suplanuotos užduotys „SQL Server“?

Suplanuotos užduotys ar užduotys naudojamos automatizuoti procesus, kuriuos galima vykdyti numatytu laiku reguliariai. Šis užduočių planavimas padeda sumažinti žmogaus įsikišimą nakties metu, o pašarą galima atlikti tam tikru laiku. Vartotojas taip pat gali užsisakyti užduotis, kuriose jis turi būti sugeneruotas.

11. Kas yra „SQL Server“ „COALESCE“?

COALESCE naudojama norint pateikti pirmąją nulio nulinę išraišką argumentuose. Ši funkcija naudojama norint grąžinti nulio reikšmę iš daugiau nei vieno argumentų stulpelio.

Pavyzdys -

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

12. Kaip galima tvarkyti išimtis programuojant „SQL Server“?

Išimtys sprendžiamos naudojant TRY ---- CATCH konstrukcijas, o tai tvarkoma rašant scenarijus TRY bloko viduje ir klaidų tvarkymas bloke CATCH.

13. Koks yra grindų funkcijos tikslas?

Funkcija GRINDYS naudojama apvalinant ne sveiko skaičiaus reikšmę iki ankstesnio mažiausio sveiko skaičiaus. Pateiktas pavyzdys

FLOOR(6.7)

Grąžina 6.

14. Ar galime patikrinti užraktus duomenų bazėje? Jei taip, kaip mes galime atlikti šį užrakto patikrinimą?

Taip, mes galime patikrinti užraktus duomenų bazėje. Tai galima pasiekti naudojant integruotą saugomą procedūrą, vadinamą sp_lock.

15. Kas yra SIGN funkcija?

SIGN funkcija naudojama norint nustatyti, ar nurodytas skaičius yra teigiamas, neigiamas ir nulis. Tai grąžins + 1, -1 arba 0.

Pavyzdys -

SIGN(-35) returns -1

16. Kas yra paleidiklis?

Trigeriai naudojami SQL kodo paketui įvykdyti, kai į lentelę įterpiamos, atnaujinamos ar ištrinamos komandos. Trigeriai automatiškai suaktyvinami arba vykdomi pakeitus duomenis. Jis gali būti vykdomas automatiškai įterpiant, ištrinant ir atnaujinant operacijas.

17. Kokie yra trigerių tipai?

Yra keturi trigerių tipai:

  • Įdėti
  • Ištrinti
  • Atnaujinti
  • Vietoj

18. Kas yra IDENTITY stulpelis įterpiamuose sakiniuose?

Stulpelis „IDENTITY“ naudojamas lentelių stulpeliuose, kad šis stulpelis būtų kaip automatinis prieauginis skaičius arba pakaitinis raktas.

19. Kas yra „SQL“ masinė kopija?

Masinė kopija yra įrankis, naudojamas kopijuoti didelį kiekį duomenų iš lentelių. Šis įrankis naudojamas dideliam duomenų kiekiui įkelti į „SQL Server“.

20. Kas bus naudojama užklausai gauti trigerių sąrašą duomenų bazėje?

Užklausa norint gauti duomenų bazės aktyviklių sąrašą

Select * from sys.objects where

21. Kuo skiriasi UNION nuo UNION ALL?

  • SĄJUNGA: Norint pasirinkti susijusią informaciją iš dviejų lentelių, naudojama komanda UNION. Tai panašu į komandą JOIN.
  • UNION All: komanda UNION ALL yra lygi komandai UNION, išskyrus tai, kad UNION ALL parenka visas reikšmes. Jis nepašalins pasikartojančių eilučių, o atkurs visas eilutes iš visų lentelių.

22. Kaip vaizduojamos visuotinės laikinosios lentelės ir jos taikymo sritis?

Visuotinės laikinos lentelės pateikiamos su ## prieš lentelės pavadinimą. Taikymo sritis bus už sesijos ribų, o vietinės laikinos lentelės yra sesijos viduje. Sesijos ID galite rasti naudodami @@ SPID.

23. Kuo skiriasi saugoma procedūra ir dinaminė SQL?

„Stored Procedure“ yra sakinių rinkinys, kuris saugomas sudaryta forma. „Dynamic SQL“ yra sakinių rinkinys, dinamiškai sukonstruotas vykdymo metu ir jis nebus saugomas duomenų bazėje, ir jis tiesiog vykdomas vykdymo metu.

24. Kas yra lyginimas?

Lyginimas apibrėžiamas norint nurodyti rūšiavimo tvarką lentelėje. Yra trys rūšiavimo tvarka:

  1. Didžiosios ir mažosios raidės
  2. Didžiosios ir mažosios raidės
  3. Dvejetainis

25. Kaip galime suskaičiuoti įrašų skaičių lentelėje?

Toliau pateikiamos užklausos gali būti naudojamos norint gauti lentelės įrašų skaičių -

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

26. Kokia komanda naudojama norint gauti „SQL Server“ versiją?

Select SERVERPROPERTY('productversion')

naudojama norint gauti SQL serverio versiją.

27. Kas yra komanda UPDATE_STATISTICS?

„UPDATE_STATISTICS“ komanda naudojama atnaujinti lentelių indeksus, kai yra daug ištrynimų ar modifikacijų, arba indeksuose įvyko masinė kopija.

28. Kas yra SET NOCOUNT ON / OFF sakinio naudojimas?

Pagal numatytuosius nustatymus NOCOUNT yra nustatytas į OFF ir jis pateikia įrašų, kurie buvo paveikti, kai komanda buvo vykdoma, skaičių. Jei vartotojas nenori rodyti paveiktų įrašų skaičiaus, jį galima aiškiai nustatyti įjungus- (NUSTATYTI NOKALB ON ĮJUNGTA).

29. Kokia SQL serverio lentelė naudojama saugant procedūrų scenarijus?

„Sys.SQL_Modules“ yra „SQL Server“ lentelė, naudojama saugomos procedūros scenarijams saugoti. Saugomos procedūros pavadinimas išsaugomas lentelėje, vadinamoje „Sys“. Procedūros.

30. Kas yra „SQL Server“ stebuklingos lentelės?

Vykdant DML operacijas, tokias kaip Įterpimas, Ištrynimas ir Atnaujinimas, „SQL Server“ sukuria stebuklingas lenteles, kuriose laikomos reikšmės DML operacijų metu. Šios stebuklingos lentelės naudojamos duomenų transakcijos trigeriuose.

31. Kuo skiriasi SUBSTR ir CHARINDEX SQL serveryje?

Funkcija SUBSTR naudojama tam tikrai eilutės daliai grąžinti pateiktoje eilutėje. Tačiau CHARINDEX funkcija suteikia simbolio padėtį nurodytoje eilutėje.

SUBSTRING('Smiley',1,3)

Suteikia rezultatą kaip Smi

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

Suteikia 3 rezultatus, kai aš pasirodysiu trečioje eilutės vietoje

32. Kaip galite sukurti prisijungimą?

Norėdami sukurti prisijungimą, galite naudoti šią komandą

CREATE LOGIN MyLogin WITH PASSWORD = '123';

33. Kas yra ISNULL () operatorius?

ISNULL funkcija naudojama norint patikrinti, ar suteikta vertė yra NULL, ar ne NULL SQL serveryje. Ši funkcija taip pat suteikia galimybę pakeisti vertę NULL.

34. Kas yra FOR sąlygos naudojimas?

FOR sąlyga daugiausia naudojama XML ir naršyklės parinktims. Ši sąlyga daugiausia naudojama norint pateikti užklausos rezultatus XML formatu arba naršyklėje.

35. Koks bus didžiausias indeksų skaičius lentelėje?

„SQL Server 2008 100“ rodyklę galima naudoti kaip didžiausią skaičių lentelėje. 1 „Clustered Index“ ir 999 „Clustered Index“ lentelėje gali būti naudojami „SQL Server“.

1000 indeksą galima naudoti kaip didžiausią skaičių lentelėje. 1 „Clustered Index“ ir 999 „Clustered Index“ lentelėje gali būti naudojami „SQL Server“.

1 „Clustered Index“ ir 999 „Clustered Index“ lentelėje gali būti naudojami „SQL Server“.

36. Kuo skiriasi „COMMIT“ ir „ROLLBACK“?

Kiekvienas sakinys tarp BEGIN ir COMMIT tampa nuolatinis duomenų bazėje, kai vykdomas COMMIT. Kiekvienas sakinys tarp BEGIN ir ROOLBACK grąžinamas į būseną, kai ROLLBACK buvo vykdoma.

37. Kuo skiriasi varcharo ir nvarcharo tipai?

„Varchar“ ir „nvarchar“ yra tas pats, tačiau vienintelis skirtumas yra tas, kad „nvarhcar“ gali būti naudojamas „Unicode“ simbolių saugojimui kelioms kalboms, be to, tai užima daugiau vietos, palyginti su „varchar“.

38. Kas yra @@ SPID?

@@ SPID grąžina dabartinio vartotojo proceso seanso ID.

39. Kokia komanda naudojama perkompiliuoti saugomą procedūrą vykdymo metu?

Išsaugota procedūra gali būti vykdoma naudojant raktinį žodį, pavadintą „RECOMPILE“.

Pavyzdys

Exe  WITH RECOMPILE

Arba galime įtraukti „WITHRECOMPILE“ į pačią saugomą procedūrą.

40. Kaip ištrinti pasikartojančias eilutes „SQL Server“?

Pasikartojančias eilutes galima ištrinti naudojant „SQL Server“ funkciją CTE ir ROW NUMER.

41. Kur „SQL Server“ vartotojo vardai ir slaptažodžiai saugomi „SQL Server“?

Vartotojų vardai ir slaptažodžiai saugomi sys.server_principals ir sys.sql_logins. Bet slaptažodžiai nėra saugomi normaliame tekste.

42. Kuo skiriasi GETDATE nuo SYSDATETIME?

Abi yra tos pačios, bet GETDATE gali suteikti laiko iki milisekundžių, o SYSDATETIME - iki nanosekundžių. SYSDATE TIME yra tikslesnis nei GETDATE.

43. Kaip duomenis galima nukopijuoti iš vienos lentelės į kitą lentelę?

ĮDĖTI Į PASIRINKTI

Ši komanda naudojama norint įterpti duomenis į jau sukurtą lentelę.

PASIRINKTI Į

Ši komanda naudojama kuriant naują lentelę, jos struktūrą ir duomenis galima nukopijuoti iš esamos lentelės.

44. Kas yra „TABLESAMPLE“?

„TABLESAMPLE“ naudojamas atsitiktiniu būdu ištraukti eiles, kurios yra visos reikalingos programai. Paimtos pavyzdžių eilutės yra pagrįstos eilučių procentine dalimi.

45. Kokia komanda naudojama vartotojo apibrėžtiems klaidų pranešimams?

RAISEERROR yra komanda, naudojama generuoti ir inicijuoti klaidų apdorojimą tam tikroje sesijoje. Tie vartotojo apibrėžti pranešimai saugomi sys.messages lentelėje.

46. ​​Ką reiškia XML duomenų tipas?

XML duomenų tipas naudojamas XML dokumentams laikyti SQL serverio duomenų bazėje. Sukuriami stulpeliai ir kintamieji, kurie saugo XML egzempliorius duomenų bazėje.

47. Kas yra CDC?

CDC yra sutrumpintas kaip Change Data Capture, kuris naudojamas fiksuoti duomenis, kurie buvo neseniai pakeisti. Ši funkcija yra SQL Server 2008.

48. Kas yra SQL injekcija?

SQL injekcija yra kenkėjiškų vartotojų ataka, kurios metu kenkėjišką kodą galima įterpti į eilutes, kurias galima perduoti SQL serverio egzemplioriui analizuoti ir vykdyti. Visi teiginiai turi patikrinti pažeidžiamumą, nes jie vykdo visas gautas sintaksiniu požiūriu pagrįstas užklausas.

Įgudę ir patyrę užpuolikai gali manipuliuoti net parametrais.

49. Kokie metodai naudojami apsaugai nuo SQL injekcijos atakos?

Toliau pateikiami metodai, naudojami apsaugai nuo SQL injekcijos atakos:

  • Naudokite parametrus saugomoms procedūroms
  • Filtruojami įvesties parametrai
  • Parametrų rinkinį naudokite su „Dynamic SQL“
  • Panašiame sakinyje vartotojai pabėga simbolius

50. Kas yra filtruota rodyklė?

Filtruotas indeksas naudojamas filtruoti kai kurias lentelės eilučių dalis, siekiant pagerinti užklausos našumą, indekso priežiūrą ir sumažinti indekso saugojimo išlaidas. Kai indeksas sukurtas su WHERE sąlyga, jis vadinamas Filtered Index

Įdomios straipsniai...