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

Parsisių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ūracijos ypatybes ir pasirinkus saugos puslapį.

2. Kas yra SQL profilis?

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

3. Kas yra rekursinė saugoma procedūra?

SQL serveris palaiko rekursinę saugomą procedūrą, kuri pati iškviečia. Rekursinė saugoma procedūra gali būti apibrėžta kaip problemų sprendimo metodas, kai sprendimas gaunamas kartotinai. Jis gali įdėti iki 32 lygių. | _+_ |

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 uždaromas.
 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 
  • Visuotinės laikinosios lentelės yra matomos visiems vartotojams ir ištrinamos, kai jas sukūręs ryšys uždaromas.
CREATE TABLE #

5. Kas yra CHECK apribojimas?

Lentelės stulpeliui gali būti taikomas CHECK apribojimas, kad būtų apribotos stulpelio reikšmės. Tikrinimo apribojimas yra užtikrinti vientisumą.

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

SQL serveris gali būti prijungtas prie bet kurios duomenų bazės, turinčios OLE-DB teikėją, kad suteiktų 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?

Antrinė užklausa yra užklausa, kurią galima įdėti į pagrindinę užklausą, pvz., „Pasirinkti“, „Atnaujinti“, „Įterpti“ arba „Ištrinti“. 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 eilės tvarka
  • Antrinė užklausa turėtų būti dedama dešinėje pagrindinės užklausos palyginimo operatoriaus pusėje
  • Antroji užklausa turėtų būti uždaryta skliausteliuose, nes ji turi būti vykdoma pirmiausia prieš pagrindinę užklausą
  • Galima įtraukti daugiau nei vieną antrinę užklausą

8. Kokie yra antrinių užklausų tipai?

Yra trys antrinių užklausų tipai -

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

9. Kas yra SQL serverio agentas?

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

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

Suplanuotos užduotys arba užduotys naudojamos procesams, kurie gali būti vykdomi nustatytu laiku reguliariai, automatizuoti. Šis užduočių planavimas padeda sumažinti žmogaus įsikišimą nakties metu ir maitinimas gali būti atliekamas tam tikru laiku. Vartotojas taip pat gali užsisakyti užduotis, kurioms atlikti jis turi būti sugeneruotas.

11. Kas yra COALESCE SQL Server?

COALESCE naudojama norint grąžinti pirmąją nenulinę išraišką argumentuose. Ši funkcija naudojama grąžinti ne nulinį iš daugiau nei vieno argumentų stulpelio.

Pavyzdys - | _+_ |

12. Kaip išimtis galima tvarkyti programuojant SQL serverį?

Išimtys tvarkomos naudojant TRY ---- CATCH konstrukcijas, o tai apdorojama rašant scenarijus TRY bloko viduje ir klaidų tvarkymą CATCH bloke.

13. Koks yra FLOOR funkcijos tikslas?

Funkcija FLOOR naudojama suapvalinti ne sveiką skaičių iki ankstesnio mažiausio sveikojo skaičiaus. Pateiktas pavyzdys | _+_ |

Grąžina 6.

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

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

15. Kuo naudinga funkcija SIGN?

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

Pavyzdys - | _+_ |

16. Kas yra trigeris?

Trigeriai naudojami SQL kodo partijai vykdyti, kai įterpimo, atnaujinimo ar ištrynimo komandos vykdomos prieš lentelę. Pakeitus duomenis, aktyvikliai automatiškai suaktyvinami arba vykdomi. Jis gali būti vykdomas automatiškai atliekant įterpimo, ištrynimo ir atnaujinimo operacijas.

17. Kokie yra trigerių tipai?

Yra keturių tipų aktyvikliai ir jie yra:

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

18. Kas yra įterpimo teiginių stulpelis IDENTITY?

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

19. Kas yra „Bulkcopy“ SQL?

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

20. Kokia užklausa bus naudojama norint gauti aktyviklių sąrašą duomenų bazėje?

Užklausa gauti aktyviklių sąrašą duomenų bazėje- | _+_ |

21. Kuo skiriasi UNION ir UNION ALL?

  • UNION: Norėdami pasirinkti susijusią informaciją iš dviejų lentelių, naudojama UNION komanda. Tai panaši į komandą JOIN.
  • UNION All: UNION ALL komanda yra lygi UNION komandai, išskyrus tai, kad UNION ALL pasirenka visas vertes. Jis nepašalins pasikartojančių eilučių, o atims visas eilutes iš visų lentelių.

22. Kaip pateikiamos pasaulinės laikinos lentelės ir jų apimtis?

Pasaulinės laikinos lentelės prieš lentelės pavadinimą vaizduojamos ##. Apimtis bus už sesijos ribų, tuo tarpu vietinės laikinos lentelės yra sesijos viduje. Sesijos ID galima rasti naudojant @@ SPID.

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

Išsaugota procedūra yra teiginių rinkinys, saugomas sudaryta forma. Dinaminis SQL yra teiginių rinkinys, kuris dinamiškai sukonstruotas vykdymo metu ir nebus saugomas duomenų bazėje, o tiesiog vykdomas vykdymo metu.

24. Kas yra Rūšiavimas?

Rūšiavimas apibrėžiamas, kad lentelėje būtų nurodyta rūšiavimo tvarka. Yra trys rūšiavimo tvarkos tipai -

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

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

Toliau pateikiamos užklausos, kuriomis galima gauti įrašų skaičių lentelėje - | _+_ |

26. Kokia komanda naudojama norint gauti SQL serverio versiją?

CREATE TABLE ##

naudojamas SQL serverio versijai gauti.

27. Kas yra UPDATE_STATISTICS komanda?

UPDATE_STATISTICS komanda naudojama atnaujinti lentelių indeksus, kai indeksuose yra daug ištrynimų ar pakeitimų arba masinė kopija.

28. Kuo naudinga SET NOCOUNT ON/OFF išraiška?

Pagal numatytuosius nustatymus NOCOUNT yra išjungta ir grąžina įrašų skaičių, kurie buvo paveikti kiekvieną kartą, kai komanda vykdoma. Jei vartotojas nenori rodyti paveiktų įrašų skaičiaus, jis gali būti aiškiai nustatytas į ON- (SET NOCOUNT ON).

29. Kuri SQL serverio lentelė naudojama saugoti procedūrų scenarijus?

Sys.SQL_Modules yra SQL serverio lentelė, naudojama saugomos procedūros scenarijui saugoti. Išsaugotos procedūros pavadinimas išsaugomas lentelėje „Sys.Procedures“.

30. Kas yra stebuklingos lentelės SQL serveryje?

Vykdant DML operacijas, tokias kaip Įterpti, Ištrinti ir Atnaujinti, „SQL Server“ sukuria stebuklines lenteles vertėms DML operacijų metu laikyti. Šios stebuklingos lentelės naudojamos duomenų transakcijos aktyviklių viduje.

31. Kuo skiriasi SQL serverio SUBSTR ir CHARINDEX?

Funkcija SUBSTR naudojama tam tikrai eilutės daliai grąžinti tam tikroje eilutėje. Tačiau CHARINDEX funkcija suteikia simbolio poziciją nurodytoje eilutėje. | _+_ |

Suteikia rezultatą kaip Smi | _+_ |

Pateikia 3 rezultatą, kaip aš rodomas 3rdeilutės padėtis

32. Kaip galite sukurti prisijungimo duomenis?

Norėdami sukurti prisijungimo duomenis, galite naudoti šią komandą | _+_ |

33. Kas yra ISNULL () operatorius?

Funkcija ISNULL naudojama patikrinti, ar SQL serveryje pateikta vertė yra NULL, ar ne. Ši funkcija taip pat numato reikšmės pakeitimą NULL.

34. Kuo naudinga sąlyga FOR?

Sąlyga FOR daugiausia naudojama XML ir naršyklės parinktims. Ši sąlyga daugiausia naudojama užklausos rezultatams rodyti XML formatu arba naršyklėje.

35. Koks bus didžiausias indekso skaičius vienoje lentelėje?

„SQL Server 2008 100“ indeksas gali būti naudojamas kaip didžiausias lentelės skaičius. „SQL Server“ galima naudoti 1 grupuotą indeksą ir 999 ne grupuotus indeksus vienoje lentelėje.

1000 indeksas gali būti naudojamas kaip didžiausias lentelės skaičius. „SQL Server“ galima naudoti 1 grupuotą indeksą ir 999 ne grupuotus indeksus vienoje lentelėje.

„SQL Server“ galima naudoti 1 grupuotą indeksą ir 999 ne grupuotus indeksus vienoje lentelėje.

36. Kuo skiriasi COMMIT ir ROLLBACK?

Kiekvienas teiginys tarp BEGIN ir COMMIT tampa nuolatinis duomenų bazei, kai vykdomas COMMIT. Kiekvienas teiginys tarp BEGIN ir ROOLBACK grąžinamas į būseną, kai buvo įvykdytas ROLLBACK.

37. Kuo skiriasi varchar ir nvarchar tipai?

„Varchar“ ir „nvarchar“ yra tas pats, tačiau vienintelis skirtumas yra tas, kad „nvarhcar“ gali būti naudojamas „Unicode“ simboliams saugoti keliomis kalbomis, be to, jis užima daugiau vietos, palyginti su „varchar“.

38. Kuo naudinga @@ SPID?

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

39. Kokia komanda naudojama perkompiliuoti išsaugotą procedūrą vykdymo metu?

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

Pavyzdys | _+_ |

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

40. Kaip ištrinti pasikartojančias eilutes SQL serveryje?

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

41. Kur saugomi SQL serverio naudotojų vardai ir slaptažodžiai?

Vartotojų vardai ir slaptažodžiai saugomi sys.server_principals ir sys.sql_logins. Tačiau slaptažodžiai nėra saugomi įprastame tekste.

42. Kuo skiriasi GETDATE ir SYSDATETIME?

Abu yra vienodi, tačiau GETDATE gali duoti 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ą?

INSERT INTO SELECT

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

PASIRINKITE

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

44. Kas yra LENTELĖS PAVYZDYS?

TABLESAMPLE naudojamas atsitiktine tvarka išgauti eilučių pavyzdžius, kurie yra būtini programai. Imtos eilutės imamos pagal eilučių procentą.

45. Kokia komanda naudojama vartotojo nustatytiems klaidų pranešimams?

RAISEERROR yra komanda, naudojama tam tikros sesijos metu generuoti ir inicijuoti klaidų apdorojimą. Tie vartotojo nustatyti pranešimai saugomi sys.messages lentelėje.

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

XML duomenų tipas naudojamas XML dokumentams saugoti SQL serverio duomenų bazėje. Sukuriami stulpeliai ir kintamieji ir saugomi XML egzemplioriai duomenų bazėje.

47. Kas yra CDC?

CDC yra sutrumpintas kaip „Keisti duomenų surinkimą“, kuris naudojamas fiksuoti neseniai pakeistus duomenis. Ši funkcija yra „SQL Server 2008“.

48. Kas yra SQL įpurškimas?

SQL įpurškimas yra kenkėjiškų vartotojų ataka, kai kenkėjiškas kodas gali būti įterptas į eilutes, kurios gali būti perduotos SQL serverio egzemplioriui analizuoti ir vykdyti. Visi teiginiai turi patikrinti pažeidžiamumą, nes jis vykdo visas gautas sintaksiškai galiojančias užklausas.

Kvalifikuoti ir patyrę užpuolikai gali manipuliuoti net parametrais.

49. Kokie metodai naudojami apsaugai nuo SQL įpurškimo atakos?

Toliau pateikiami metodai, naudojami apsisaugoti nuo SQL įpurškimo atakos:

  • Naudokite išsaugotų procedūrų parametrus
  • Įvesties parametrų filtravimas
  • Naudokite parametrų rinkinį su dinaminiu SQL
  • Panašioje sąlygoje vartotojas ištrina simbolius

50. Kas yra filtruotas indeksas?

Filtruotas indeksas naudojamas kai kurioms lentelės eilučių dalims filtruoti, siekiant pagerinti užklausos našumą, rodyklės priežiūrą ir sumažinti indekso saugojimo išlaidas. Kai indeksas sukuriamas naudojant sąlygą WHERE, jis vadinamas filtruotu indeksu