Az 50 legfontosabb SQL Server interjúk kérdése és Válaszok

Anonim

PDF letöltése

1. Mi a két hitelesítési mód az SQL Serverben?

Két hitelesítési mód létezik -

  • Windows mód
  • Vegyes mód

A módok megváltoztathatók az SQL Server konfigurációs tulajdonságainak eszközmenüjének kiválasztásával, majd a biztonsági oldal kiválasztásával.

2. Mi az SQL Profiler?

Az SQL Profiler egy olyan eszköz, amely lehetővé teszi a rendszergazdának, hogy figyelemmel kísérje az eseményeket az SQL szerveren. Ezt főleg egy fájl vagy egy táblázat minden eseményére vonatkozó adatok rögzítésére és mentésére használják elemzés céljából.

3. Mi az a rekurzív tárolt eljárás?

Az SQL Server támogatja a rekurzív tárolt eljárást, amely önmagában hív. A rekurzív tárolt eljárás a probléma megoldásának módszereként definiálható, ahol a megoldás ismételten érkezik. Legfeljebb 32 szintet képes fészkelni.

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. Mi a különbség a helyi és a globális ideiglenes táblák között?

  • A helyi ideiglenes táblák láthatók, ha van kapcsolat, és a kapcsolat lezárásakor törlődnek.
CREATE TABLE #
  • A globális ideiglenes táblák minden felhasználó számára láthatók, és törlődnek, amikor az azt létrehozó kapcsolat megszűnik.
CREATE TABLE ##

5. Mi az ELLENŐRZÉSI kényszer?

A táblázat oszlopára CHECK korlátozás alkalmazható az oszlopba helyezhető értékek korlátozására. A korlátozás az integritás érvényesítése.

6. Kapcsolódhatnak-e az SQL szerverek más szerverekhez?

Az SQL szerver bármely olyan adatbázishoz csatlakoztatható, amely OLE-DB szolgáltatóval rendelkezik linket adni. Példa: Az Oracle rendelkezik OLE-DB szolgáltatóval, amely linkkel rendelkezik az SQL szerver csoporthoz való kapcsolódáshoz.

7. Mi az allekérdezés és annak tulajdonságai?

Az al-lekérdezés olyan lekérdezés, amelyet be lehet ágyazni egy fő lekérdezésbe, például a Select, Update, Insert vagy Delete utasításokba. Ez akkor használható, ha a kifejezés megengedett. Az allekérdezés tulajdonságai úgy definiálhatók

  • Egy részlekérdezés nem rendelkezhet záradékonként
  • Alkérdést kell elhelyezni a fő lekérdezés összehasonlító operátorának jobb oldalán
  • Az alkérdést zárójelbe kell foglalni, mert azt először a fő lekérdezés előtt kell végrehajtani
  • Több részlekérdezés is szerepelhet

8. Milyen típusúak az al lekérdezések?

Három típusú alkérdezés létezik -

  • Egysoros részlekérdezés, amely csak egy sort ad vissza
  • Többsoros allekérdezés, amely több sort ad vissza
  • Több oszlopos allekérdezés, amely több oszlopot ad vissza a fő lekérdezéshez. Ezzel az allekérdezés eredményével a Fő lekérdezés végrehajtásra kerül.

9. Mi az SQL szerver ügynök?

Az SQL Server ügynök alapvető szerepet játszik az SQL Server Administrator (DBA) napi feladataiban. A szerverügynök célja a feladatok egyszerű végrehajtása az ütemező motorral, amely lehetővé teszi a feladataink ütemezett dátumon és időben történő futtatását.

10. Mik az ütemezett feladatok az SQL Serverben?

Az ütemezett feladatok vagy feladatok automatizált folyamatok, amelyek futtathatóak ütemezett időben, rendszeres időközönként. A feladatok ilyen ütemezése segít csökkenteni az emberi beavatkozást az éjszakai órákban, és az etetés egy adott időpontban elvégezhető. A felhasználó megrendelheti azokat a feladatokat is, amelyekben létre kell hozni.

11. Mi a COALESCE az SQL Serverben?

A COALESCE az első nem null kifejezés kifejezés argumentumon belüli visszaadására szolgál. Ez a függvény nem null értéket ad vissza az argumentumok egynél több oszlopából.

Példa -

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

12. Hogyan kezelhetők a kivételek az SQL Server programozásban?

A kivételeket a TRY ---- CATCH konstrukciók segítségével kezeljük, és úgy kezeljük, hogy szkripteket írunk a TRY blokkba és hibakezeléseket a CATCH blokkba.

13. Mi a PADLÓ funkció célja?

A FLOOR függvény egy nem egész értéket az előző legkisebb egész számra kerekít. Példát adunk

FLOOR(6.7)

6-os eredményt ad.

14. Ellenőrizhetjük a zárakat az adatbázisban? Ha igen, hogyan tudjuk elvégezni ezt a zárellenőrzést?

Igen, ellenőrizhetjük a zárakat az adatbázisban. Ez a sp_lock nevű beépített tárolt eljárás segítségével érhető el.

15. Mi a SIGN funkció használata?

A SIGN függvény segítségével meghatározható, hogy a megadott szám pozitív, negatív és nulla. Ez + 1, -1 vagy 0 értéket ad vissza.

Példa -

SIGN(-35) returns -1

16. Mi az a trigger?

Az eseményindítók egy SQL-köteg végrehajtására szolgálnak, amikor a beszúrási, frissítési vagy törlési parancsokat egy táblához hajtják végre. Az eseményindítók automatikusan elindulnak vagy végrehajtásra kerülnek, amikor az adatok módosulnak. Automatikusan végrehajtható beillesztési, törlési és frissítési műveleteknél.

17. Milyen típusú kiváltók vannak?

A kiváltó okoknak négy típusa van:

  • Helyezze be
  • Töröl
  • Frissítés
  • Ahelyett

18. Mi az IDENTITY oszlop a beszúrási utasításokban?

Az IDENTITY oszlopot a táblázat oszlopai használják az oszlop automatikus növekményszámként vagy helyettesítő kulcsként történő létrehozására.

19. Mi az a Bulkcopy az SQL-ben?

A Bulkcopy egy olyan eszköz, amelyet nagy mennyiségű adat másolására használnak a táblázatokból. Ez az eszköz nagy mennyiségű adat betöltésére szolgál az SQL Server rendszerben.

20. Milyen lekérdezés alapján kapják meg az eseményindítók listáját az adatbázisban?

Lekérdezés az adatbázis-kiváltó okok listájának lekérésére

Select * from sys.objects where

21. Mi a különbség az UNION és az UNION ALL között?

  • UNION: A kapcsolódó információk két táblából történő kiválasztásához az UNION parancsot kell használni. Hasonló a JOIN parancshoz.
  • UNION All: Az UNION ALL parancs megegyezik az UNION paranccsal, azzal a különbséggel, hogy az UNION ALL kiválasztja az összes értéket. Nem távolítja el az ismétlődő sorokat, ehelyett az összes sort az összes táblázatból lekéri.

22. Hogyan vannak ábrázolva a globális ideiglenes táblák és milyen terjedelme van?

A globális ideiglenes táblákat ## jelöli a tábla neve előtt. A hatókör a munkameneten kívül lesz, míg a helyi ideiglenes táblák a munkameneten belül vannak. A munkamenet azonosítója a @@ SPID használatával található.

23. Mi a különbség a tárolt eljárás és a dinamikus SQL között?

A Tárolt eljárás utasítások halmaza, amelyet összeállított formában tárolnak. A Dinamikus SQL olyan utasítások halmaza, amelyek futás közben dinamikusan épülnek fel, és nem kerülnek tárolásra egy adatbázisban, és egyszerűen futtatás közben futtatják.

24. Mi az összevetés?

Az osztályozás a táblázat rendezési sorrendjének megadására szolgál. Háromféle rendezési sorrend létezik -

  1. Kis-nagybetű érzékeny
  2. Kis- és nagybetűk
  3. Bináris

25. Hogyan lehet megszámolni a táblák rekordjainak számát?

Az alábbiakban a lekérdezéseket használhatjuk a rekordok számának lekérésére egy táblázatban -

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

26. Mi az a parancs, amelyet az SQL Server verziójának letöltésére használnak?

Select SERVERPROPERTY('productversion')

az SQL Server verziójának megszerzésére szolgál.

27. Mi az UPDATE_STATISTICS parancs?

Az UPDATE_STATISTICS paranccsal frissíthetők a táblák indexei, ha nagy mennyiségű törlés vagy módosítás történik, vagy tömeges másolás történt az indexekben.

28. Mi a SET NOCOUNT ON / OFF utasítás?

Alapértelmezés szerint a NOCOUNT értéke OFF, és a parancs végrehajtásakor az érintett rekordok számát adja vissza. Ha a felhasználó nem akarja megjeleníteni az érintett rekordok számát, akkor azt kifejezetten BE értékre állíthatja (BEÁLLÍTÁS NOCOUNT BE).

29. Melyik SQL kiszolgáló táblázatot használják a tárolt eljárási parancsfájlok tárolására?

A Sys.SQL_Modules egy SQL Server tábla, amelyet a tárolt eljárás szkriptjének tárolására használnak. A tárolt eljárás nevét a Sys.Procedures nevű táblázat menti.

30. Mi az a varázstábla az SQL Server-ben?

A DML műveletek, például a Beszúrás, Törlés és Frissítés során az SQL Server varázslatos táblákat hoz létre az értékek tárolására a DML műveletek során. Ezeket a varázslatos táblázatokat az adattranzakció kiváltóinak belsejében használják.

31. Mi a különbség a SUBSTR és a CHARINDEX között az SQL Serverben?

A SUBSTR függvény egy adott karakterlánc adott részének visszatérésére szolgál. De a CHARINDEX függvény karakterpozíciót ad egy adott megadott karakterláncban.

SUBSTRING('Smiley',1,3)

Smi néven ad eredményt

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

3 eredményt ad, amint én megjelenek a karakterlánc harmadik pozíciójában

32. Hogyan hozhat létre bejelentkezést?

A következő paranccsal hozhat létre bejelentkezést

CREATE LOGIN MyLogin WITH PASSWORD = '123';

33. Mi az ISNULL () operátor?

Az ISNULL függvény segítségével ellenőrizhető, hogy a megadott érték NULL vagy NULL az sql szerveren. Ez a funkció azt is előírja, hogy egy értéket a NULL-re cseréljen.

34. Mi a FOR záradék használata?

A FOR záradékot főleg az XML és a böngésző beállításaihoz használják. Ezt a záradékot elsősorban a lekérdezés eredményeinek XML formátumban vagy böngészőben történő megjelenítésére használják.

35. Mennyi lesz az indexek maximális száma táblánként?

Az SQL Server 2008 esetében az Index az asztalonkénti maximális számként használható. Táblázatonként 1 fürtözött index és 999 nem fürtözött index használható az SQL Server szolgáltatásban.

1000 index használható táblázatonként maximális számként. Táblázatonként 1 fürtözött index és 999 nem fürtözött index használható az SQL Server szolgáltatásban.

Táblázatonként 1 fürtözött index és 999 nem fürtözött index használható az SQL Server szolgáltatásban.

36. Mi a különbség a COMMIT és a ROLLBACK között?

A BEGIN és a COMMIT közötti minden utasítás állandóvá válik az adatbázis számára, amikor a COMMIT végrehajtásra kerül. A BEGIN és a ROOLBACK közötti minden állítást visszaállítják a ROLLBACK végrehajtásakor.

37. Mi a különbség a varchar és a nvarchar típusok között?

A Varchar és az nvarchar ugyanaz, de az egyetlen különbség az, hogy az nvarhcar használható Unicode karakterek tárolására több nyelven, és ez is több helyet igényel, mint a varchar.

38. Mi a @@ SPID használata?

A @@ SPID visszaadja az aktuális felhasználói folyamat munkamenet-azonosítóját.

39. Mi a parancs a tárolt eljárás újrafordításához futás közben?

A Tárolt eljárás a RECOMPILE nevű kulcsszó segítségével hajtható végre.

Példa

Exe  WITH RECOMPILE

Vagy felvehetjük a WITHRECOMPILE-t magába a tárolt eljárásba.

40. Hogyan lehet törölni az ismétlődő sorokat az SQL Server rendszerben?

Az ismétlődő sorok törölhetők az SQL Server CTE és ROW NUMER szolgáltatásával.

41. Hol vannak tárolva az SQL Server felhasználói nevek és jelszavak az SQL Server szolgáltatásban?

A felhasználói neveket és jelszavakat a sys.server_principals és a sys.sql_logins tárolják. De a jelszavakat nem a normál szöveg tárolja.

42. Mi a különbség a GETDATE és a SYSDATETIME között?

Mindkettő ugyanaz, de a GETDATE ezredmásodpercig adhat időt, a SYSDATETIME pedig nanomásodpercig. A SYSDATE TIME pontosabb, mint a GETDATE.

43. Hogyan lehet adatokat másolni az egyik tábláról a másikra?

INSERT INTO SELECT

Ezt a parancsot használjuk adatok beillesztésére egy már létrehozott táblába.

SELECT INTO

Ez a parancs új tábla létrehozására szolgál, és annak szerkezete és adatai átmásolhatók a meglévő táblából.

44. Mi az a TABLESAMPLE?

A TABLESAMPLE arra szolgál, hogy véletlenszerűen kivonjuk a sorokat, amelyek mind szükségesek az alkalmazáshoz. A vett mintasorok a sorok százalékos arányán alapulnak.

45. Melyik parancsot használják a felhasználó által definiált hibaüzenetekhez?

A RAISEERROR az a parancs, amelyet az adott munkamenet hibakezelésének előállítására és elindítására használnak. Ezeket a felhasználó által definiált üzeneteket a sys.messages tábla tárolja.

46. ​​Mit jelent az XML adattípus?

Az XML adattípust az XML dokumentumok tárolására használják az SQL Server adatbázisban. Oszlopok és változók jönnek létre, és XML-példányokat tárolnak az adatbázisban.

47. Mi a CDC?

A CDC rövidítése Change Data Capture, amely a közelmúltban megváltozott adatok rögzítésére szolgál. Ez a szolgáltatás az SQL Server 2008 rendszerben van.

48. Mi az SQL injekció?

Az SQL injekció egy rosszindulatú felhasználó támadása, amelyben rosszindulatú kódot lehet beilleszteni olyan karaktersorozatokba, amelyeket továbbíthat egy SQL szerver egy példányának elemzésre és végrehajtásra. Minden utasításnak ellenőriznie kell a biztonsági réseket, mivel végrehajtja az összes kapott szintaktikailag érvényes lekérdezést.

Még a paramétereket is manipulálhatják a képzett és tapasztalt támadók.

49. Milyen módszerekkel védekeznek az SQL injekciós támadások ellen?

Az alábbiakban bemutatjuk az SQL injekciós támadások elleni védekezés módszereit:

  • Paraméterek használata a tárolt eljárásokhoz
  • Bemeneti paraméterek szűrése
  • Használja a Parameter gyűjteményt a Dynamic SQL használatával
  • Hasonló záradékban a felhasználó menekülési karaktereket tartalmaz

50. Mi a szűrt index?

A Szűrt index segítségével a táblák sorainak egy részét kiszűrhetik a lekérdezés teljesítményének javítása, az index karbantartása és az index tárolási költségeinek csökkentése érdekében. Amikor az index WHERE záradékkal készül, akkor azt Szűrt indexnek hívják