Top 50 SQL Server-interviewspørgsmål og -svar (2025)
SQL Server-interviewspørgsmål og svar til nybegyndere
1. Hvad er de to godkendelsestilstande i SQL Server?
Der er to godkendelsestilstande –
- Windows tilstand
- Blandet tilstand
Tilstande kan ændres ved at vælge værktøjsmenuen i SQL Server-konfigurationsegenskaber og vælge sikkerhedsside.
👉 Gratis PDF-download: SQL Server-interviewspørgsmål og svar
2. Hvad er SQL Profiler?
SQL Profiler er et værktøj, som giver systemadministratoren mulighed for at overvåge hændelser i SQL-serveren. Dette bruges hovedsageligt til at fange og gemme data om hver hændelse i en fil eller en tabel til analyse.
3. Hvad er rekursiv lagret procedure?
SQL Server understøtter rekursiv lagret procedure, som kalder af sig selv. Rekursiv lagret procedure kan defineres som en metode til problemløsning, hvor løsningen ankommer gentagne gange. Den kan indlejre op til 32 niveauer.
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. Hvad er forskellene mellem lokale og globale midlertidige tabeller?
- Lokale midlertidige tabeller er synlige, når der er en forbindelse, og slettes, når forbindelsen lukkes.
CREATE TABLE #<tablename>
- Globale midlertidige tabeller er synlige for alle brugere og slettes, når forbindelsen, der skabte den, lukkes.
CREATE TABLE ##<tablename>
5. Hvad er CHECK-begrænsning?
En CHECK-begrænsning kan anvendes på en kolonne i en tabel for at begrænse de værdier, der kan placeres i en kolonne. Tjek begrænsning er at håndhæve integritet.
6. Kan SQL-servere linkes til andre servere?
SQL-server kan forbindes til enhver database, som har OLE-DB-udbyderen til at give et link. Eksempel: Oracle har OLE-DB-udbyder, som har link til at forbinde med SQL-servergruppen.
7. Hvad er underforespørgsel og dens egenskaber?
En underforespørgsel er en forespørgsel, der kan indlejres i en hovedforespørgsel som Vælg, Opdater, Indsæt eller Slet-sætninger. Dette kan bruges, når udtryk er tilladt. Egenskaber for underforespørgsel kan defineres som
- En underforespørgsel bør ikke have orden efter klausul
- En underforespørgsel skal placeres i højre side af sammenligningsoperatoren for hovedforespørgslen
- En underforespørgsel skal omsluttes i parentes, fordi den skal udføres først før hovedforespørgslen
- Mere end én underforespørgsel kan inkluderes
8. Hvilke typer underforespørgsler er der?
Der er tre typer underforespørgsler –
- Enkelt række underforespørgsel, som kun returnerer én række
- Underforespørgsel med flere rækker, som returnerer flere rækker
- Underforespørgsel med flere kolonner, som returnerer flere kolonner til hovedforespørgslen. Med dette underforespørgselsresultat vil hovedforespørgslen blive udført.
9. Hvad er SQL server agent?
SQL Server-agenten spiller en afgørende rolle i de daglige opgaver for SQL-serveradministratoren (DBA). Serveragentens formål er at implementere opgaverne nemt med planlægningsmotoren, som tillader vores job at køre på planlagt dato og klokkeslæt.
10. Hvad er planlagte opgaver i SQL Server?
Planlagte opgaver eller job bruges til at automatisere processer, der kan køres på et planlagt tidspunkt med et regelmæssigt interval. Denne planlægning af opgaver hjælper med at reducere menneskelig indgriben om natten, og foder kan udføres på et bestemt tidspunkt. Brugeren kan også bestille de opgaver, som den skal genereres i.
11. Hvad er COALESCE i SQL Server?
COALESCE bruges til at returnere det første ikke-nul udtryk i argumenterne. Denne funktion bruges til at returnere en ikke-nul fra mere end én kolonne i argumenterne.
Eksempel -
Select COALESCE(empno, empname, salary) from employee;
12. Hvordan kan undtagelser håndteres i SQL Server-programmering?
Undtagelser håndteres ved hjælp af TRY—-CATCH-konstruktioner, og det håndteres ved at skrive scripts inde i TRY-blokken og fejlhåndtering i CATCH-blokken.
13. Hvad er formålet med GULV-funktionen?
FLOOR-funktionen bruges til at runde en ikke-heltalsværdi op til det foregående mindste heltal. Eksempel er givet
FLOOR(6.7)
Returnerer 6.
14. Kan vi tjekke låse i databasen? Hvis ja, hvordan kan vi udføre denne låsekontrol?
Ja, vi kan tjekke låse i databasen. Det kan opnås ved at bruge den indbyggede lagrede procedure kaldet sp_lock.
15. Hvad er brugen af SIGN-funktionen?
SIGN-funktionen bruges til at bestemme, om det angivne tal er positivt, negativt og nul. Dette vil returnere +1, -1 eller 0.
Eksempel -
SIGN(-35) returns -1
16. Hvad er en trigger?
Triggere bruges til at udføre en batch af SQL-kode, når kommandoer til indsættelse eller opdatering eller sletning udføres mod en tabel. Triggere udløses eller udføres automatisk, når dataene ændres. Det kan udføres automatisk ved indsættelse, sletning og opdatering.
17. Hvilke typer triggere er der?
Der er fire typer triggere, og de er:
- indsatte
- Slette
- Opdatering
- I stedet for
18. Hvad er en IDENTITY-kolonne i indsæt-sætninger?
IDENTITET-kolonnen bruges i tabelkolonner til at gøre denne kolonne til automatisk inkrementalnummer eller en surrogatnøgle.
19. Hvad er Bulkcopy i SQL?
Bulkcopy er et værktøj, der bruges til at kopiere store mængder data fra tabeller. Dette værktøj bruges til at indlæse store mængder data i SQL Server.
20. Hvad vil forespørgslen blive brugt til at få listen over triggere i en database?
Forespørgsel for at få listen over triggere i database-
Select * from sys.objects where type='tr'
21. Hvad er forskellen mellem UNION og UNION ALL?
- UNION: For at vælge relateret information fra to tabeller bruges UNION-kommandoen. Det ligner JOIN-kommandoen.
- UNION Alle: Kommandoen UNION ALL er lig med kommandoen UNION, bortset fra at UNION ALL vælger alle værdier. Det vil ikke fjerne duplikerede rækker, i stedet vil det hente alle rækker fra alle tabeller.
22. Hvordan er globale midlertidige tabeller repræsenteret og deres omfang?
Globale midlertidige tabeller er repræsenteret med ## før tabelnavnet. Omfanget vil være uden for sessionen, mens lokale midlertidige borde er inde i sessionen. Sessions-id kan findes ved hjælp af @@SPID.
SQL Server Interview Spørgsmål og Svar til Erfarne
23. Hvad er forskellene mellem Stored Procedure og den dynamiske SQL?
Lagret procedure er et sæt af udsagn, som er gemt i en kompileret form. Dynamisk SQL er et sæt sætninger, der er dynamisk konstrueret under kørsel, og det vil ikke blive gemt i en database, og det udføres simpelthen under kørsel.
24. Hvad er Collation?
Sortering er defineret for at angive sorteringsrækkefølgen i en tabel. Der er tre typer sorteringsrækkefølge –
- Case-følsom
- Ufølsom mellem store og små bogstaver
- Binary
25. Hvordan kan vi få optælling af antallet af poster i en tabel?
Følgende er forespørgslerne, der kan bruges til at få antallet af poster i en tabel –
Select * from <tablename> Select count(*) from <tablename> Select rows from sysindexes where id=OBJECT_ID(tablename) and indid<2
26. Hvad er kommandoen, der bruges til at hente versionen af SQL Server?
Select SERVERPROPERTY('productversion')
bruges til at hente versionen af SQL Server.
27. Hvad er kommandoen UPDATE_STATISTICS?
UPDATE_STATISTICS-kommandoen bruges til at opdatere indekserne på tabellerne, når der er en stor mængde sletninger eller ændringer, eller der er sket massekopiering i indekser.
28. Hvad er brugen af SET NOCOUNT ON/OFF-sætning?
Som standard er NOCOUNT indstillet til FRA, og det returnerer antallet af poster, der er blevet påvirket, hver gang kommandoen udføres. Hvis brugeren ikke ønsker at vise antallet af berørte poster, kan det udtrykkeligt indstilles til ON- (SET NOCOUNT ON).
29. Hvilken SQL-servertabel bruges til at indeholde de lagrede procedurescripts?
Sys.SQL_Modules er en SQL Server-tabel, der bruges til at gemme scriptet for den lagrede procedure. Navnet på den lagrede procedure er gemt i tabellen kaldet Sys.Procedures.
30. Hvad er magiske tabeller i SQL Server?
Under DML-operationer som Insert, Delete og Update opretter SQL Server magiske tabeller til at holde værdierne under DML-operationerne. Disse magiske tabeller bruges inde i udløserne til datatransaktion.
31. Hvad er forskellen mellem SUBSTR og CHARINDEX i SQL Serveren?
SUBSTR-funktionen bruges til at returnere en bestemt del af strengen i en given streng. Men CHARINDEX-funktionen giver karakterposition i en given specificeret streng.
SUBSTRING('Smiley',1,3)
Giver resultat som Smi
CHARINDEX('i', 'Smiley',1)
Giver 3 som resultat, som I vises i 3rd strengens position
32. Hvordan kan du oprette et login?
Du kan bruge følgende kommando til at oprette et login
CREATE LOGIN MyLogin WITH PASSWORD = '123';
33. Hvad er ISNULL() operator?
ISNULL-funktionen bruges til at kontrollere, om den angivne værdi er NULL eller ej NULL i sql-serveren. Denne funktion giver også mulighed for at erstatte en værdi med NULL.
34. Hvad er brugen af FOR-klausul?
FOR-klausul bruges hovedsageligt til XML og browserindstillinger. Denne klausul bruges hovedsageligt til at vise forespørgselsresultaterne i XML-format eller i browser.
35. Hvad er det maksimale antal indeks pr. tabel?
For SQL Server 2008 kan 100 Index bruges som maksimalt antal pr. tabel. 1 Clustered Index og 999 Ikke-klyngede indekser pr. tabel kan bruges i SQL Server.
1000 Indeks kan bruges som maksimalt antal pr. tabel. 1 Clustered Index og 999 Ikke-klyngede indekser pr. tabel kan bruges i SQL Server.
1 Clustered Index og 999 Ikke-klyngede indekser pr. tabel kan bruges i SQL Server.
36. Hvad er forskellen mellem COMMIT og ROLLBACK?
Hver sætning mellem BEGIN og COMMIT bliver persistent i databasen, når COMMIT udføres. Hver sætning mellem BEGIN og ROOLBACK vendes tilbage til tilstanden, da ROLLBACK blev udført.
37. Hvad er forskellen mellem varchar- og nvarchar-typer?
Varchar og nvarchar er ens, men den eneste forskel er, at nvarhcar kan bruges til at gemme Unicode-tegn til flere sprog, og det tager også mere plads sammenlignet med varchar.
38. Hvad er brugen af @@SPID?
Et @@SPID returnerer sessions-id'et for den aktuelle brugerproces.
39. Hvad er kommandoen, der bruges til at genkompilere den lagrede procedure under kørsel?
Lagret procedure kan udføres ved hjælp af nøgleord kaldet RECOMPILE.
Eksempel
Exe <SPName> WITH RECOMPILE
Eller vi kan inkludere WITHRECOMPILE i selve den lagrede procedure.
40. Hvordan sletter man dublerede rækker i SQL Server?
Dublerede rækker kan slettes ved hjælp af CTE og ROW NUMER-funktionen i SQL Server.
41. Hvor er SQL Server-brugernavne og adgangskoder gemt i SQL Server?
Brugernavne og adgangskoder gemmes i sys.server_principals og sys.sql_logins. Men adgangskoder gemmes ikke i normal tekst.
42. Hvad er forskellen mellem GETDATE og SYSDATETIME?
Begge er ens, men GETDATE kan give tid til millisekunder og SYSDATETIME kan give præcision indtil nanosekunder. SYSDATE TIME er mere nøjagtig end GETDATE.
43. Hvordan kan data kopieres fra en tabel til en anden tabel?
INSERT INTO SELECT
Denne kommando bruges til at indsætte data i en tabel, som allerede er oprettet.
SELECT INTO
Denne kommando bruges til at oprette en ny tabel, og dens struktur og data kan kopieres fra eksisterende tabel.
44. Hvad er TABLESAMPLE?
TABLESAMPLE bruges til at udtrække stikprøver af rækker tilfældigt, der alle er nødvendige for applikationen. Prøverækkerne er baseret på procentdelen af rækker.
45. Hvilken kommando bruges til brugerdefinerede fejlmeddelelser?
RAISEERROR er kommandoen, der bruges til at generere og initiere fejlbehandling for en given session. Disse brugerdefinerede meddelelser gemmes i sys.messages-tabellen.
46. Hvad betyder XML Datatype?
XML-datatypen bruges til at gemme XML-dokumenter i SQL Server-database. Kolonner og variabler oprettes og gemmer XML-forekomster i databasen.
47. Hvad er CDC?
CDC er forkortet som Change Data Capture, som bruges til at fange de data, der er blevet ændret for nylig. Denne funktion er til stede i SQL Server 2008.
48. Hvad er SQL-injektion?
SQL-injektion er et angreb fra ondsindede brugere, hvor ondsindet kode kan indsættes i strenge, der kan sendes til en forekomst af SQL-serveren til parsing og eksekvering. Alle udsagn skal kontrolleres for sårbarheder, da den udfører alle syntaktisk gyldige forespørgsler, som den modtager.
Selv parametre kan manipuleres af de dygtige og erfarne angribere.
49. Hvilke metoder bruges til at beskytte mod SQL-injektionsangreb?
Følgende er metoderne, der bruges til at beskytte mod SQL-injektionsangreb:
- Brug parametre til lagrede procedurer
- Filtrering af inputparametre
- Brug parametersamling med dynamisk SQL
- I lignende klausul, bruger escape-tegn
50. Hvad er filtreret indeks?
Filtreret indeks bruges til at filtrere en del af rækker i en tabel for at forbedre forespørgselsydeevne, indeksvedligeholdelse og reducere indekslageromkostninger. Når indekset er oprettet med WHERE-klausul, så kaldes det Filtered Index.
Disse interviewspørgsmål vil også hjælpe i din viva(orals)