Download PDF
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.
2. Hvad er SQL Profiler?
SQL Profiler er et værktøj, der giver systemadministratoren mulighed for at overvåge begivenheder i SQL-serveren. Dette bruges hovedsageligt til at registrere og gemme data om hver begivenhed i en fil eller en tabel til analyse.
3. Hvad er rekursiv lagret procedure?
SQL Server understøtter rekursiv lagret procedure, der kalder af sig selv. Rekursiv lagret procedure kan defineres som en metode til problemløsning, hvor løsningen ankommer gentagne gange. Det kan rede op til 32 niveauer.
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. Hvad er forskellen mellem lokale og globale midlertidige tabeller?
- Lokale midlertidige tabeller er synlige, når der er forbindelse, og slettes, når forbindelsen lukkes.
CREATE TABLE #
- Globale midlertidige tabeller er synlige for alle brugere og slettes, når forbindelsen, der oprettede den, lukkes.
CREATE TABLE ##
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. Kontroller begrænsning er at håndhæve integritet.
6. Kan SQL-servere linkes til andre servere?
SQL-server kan forbindes til enhver database, der har OLE-DB-udbyder til at give et link. Eksempel: Oracle har OLE-DB-udbyder, der har link til at oprette forbindelse til 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 f.eks. Vælg, opdater, indsæt eller slet udsagn. Dette kan bruges, når udtryk er tilladt. Egenskaber for underforespørgsel kan defineres som
- En underforespørgsel skal ikke have rækkefølge efter klausul
- En underforespørgsel skal placeres i højre side af sammenligningsoperatoren for hovedforespørgslen
- En underforespørgsel skal være lukket i parentes, fordi den skal udføres først inden hovedforespørgslen
- Mere end en underforespørgsel kan medtages
8. Hvilke typer underforespørgsel er der?
Der er tre typer underforespørgsel -
- Enkelt række underforespørgsel, der kun returnerer en række
- Flere række underforespørgsler, som returnerer flere rækker
- Underforespørgsel med flere kolonner, som returnerer flere kolonner til hovedforespørgslen. Med dette underforespørgselsresultat udføres hovedforespørgsel.
9. Hvad er SQL server agent?
SQL Server-agenten spiller en vigtig rolle i daglige opgaver for SQL serveradministrator (DBA). Serveragentens formål er at implementere opgaverne let med planlægningsmotoren, som gør det muligt for vores job at køre på planlagt dato og tidspunkt.
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 inden for argumenterne. Denne funktion bruges til at returnere en ikke-nul fra mere end en kolonne i argumenterne.
Eksempel -
Select COALESCE(empno, empname, salary) from employee;
12. Hvordan undtagelser kan 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 FLOOR-funktionen?
FLOOR-funktionen bruges til at afrunde en ikke-heltalsværdi til det foregående mindste heltal. Eksempel er givet
FLOOR(6.7)
Returnerer 6.
14. Kan vi kontrollere låse i databasen? Hvis ja, hvordan kan vi udføre denne låsekontrol?
Ja, vi kan kontrollere låse i databasen. Det kan opnås ved hjælp af den indbyggede lagrede procedure kaldet sp_lock.
15. Hvad er brugen af SIGN-funktionen?
SIGN-funktionen bruges til at bestemme, om det angivne antal er positivt, negativt og nul. Dette returnerer + 1, -1 eller 0.
Eksempel -
SIGN(-35) returns -1
16. Hvad er en udløser?
Triggers bruges til at udføre en batch af SQL-kode, når kommandoer indsættes eller opdateres eller slettes udføres på en tabel. Udløsere udløses eller udføres automatisk, når dataene ændres. Det kan udføres automatisk ved indsættelse, sletning og opdatering.
17. Hvad er typer af udløsere?
Der er fire typer udløsere, og de er:
- Indsæt
- Slet
- Opdatering
- I stedet for
18. Hvad er en IDENTITY-kolonne i indsætningserklæringer?
IDENTITY-kolonnen bruges i tabelkolonner til at gøre denne kolonne som automatisk inkrementalt nummer eller en surrogatnøgle.
19. Hvad er bulkkopi 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 bliver forespørgsel brugt til at få listen over udløsere i en database?
Forespørgsel for at få listen over udløsere i databasen-
Select * from sys.objects where
21. Hvad er forskellen mellem UNION og UNION ALL?
- UNION: For at vælge relateret information fra to tabeller anvendes UNION-kommando. Det svarer til JOIN-kommandoen.
- UNION Alle: UNION ALL-kommandoen er lig med UNION-kommandoen, bortset fra at UNION ALL vælger alle værdier. Det fjerner ikke dubletter, men i stedet henter alle rækker fra alle tabeller.
22. Hvordan repræsenteres globale midlertidige tabeller og dets omfang?
Globale midlertidige tabeller er repræsenteret med ## foran tabelnavnet. Omfanget vil være uden for sessionen, mens lokale midlertidige tabeller er inde i sessionen. Sessions-ID kan findes ved hjælp af @@ SPID.
23. Hvad er forskellene mellem lagret procedure og dynamisk SQL?
Lagret procedure er et sæt udsagn, der lagres i en kompileret form. Dynamisk SQL er et sæt udsagn, der dynamisk konstrueres ved kørsel, og det lagres ikke i en database, og det udføres simpelthen i løbet af kørselstiden.
24. Hvad er sortering?
Sortering er defineret for at specificere sorteringsrækkefølgen i en tabel. Der er tre typer sorteringsrækkefølge -
- Skift mellem store og små bogstaver
- Sagsfølsom
- Binær
25. Hvordan kan vi tælle antallet af poster i en tabel?
Følgende er forespørgsler, der kan bruges til at få optællingen af poster i en tabel -
Select * fromSelect count(*) from Select rows from sysindexes where id=OBJECT_ID(tablename) and indid<2
26. Hvad bruges kommandoen til at hente versionen af SQL Server?
Select SERVERPROPERTY('productversion')
bruges til at hente versionen af SQL Server.
27. Hvad er UPDATE_STATISTICS-kommandoen?
UPDATE_STATISTICS-kommandoen bruges til at opdatere indekserne på tabellerne, når der er en stor mængde sletninger eller ændringer, eller der forekommer massekopi i indekserne.
28. Hvad er brugen af SET NOCOUNT ON / OFF statement?
Som standard er NOCOUNT indstillet til FRA, og det returnerer antallet af poster, der er berørt, hver gang kommandoen bliver udført. Hvis brugeren ikke ønsker at vise antallet af berørte poster, kan den udtrykkeligt indstilles til ON- (SET NOCOUNT ON).
29. Hvilken SQL-servertabel bruges til at gemme de lagrede procedureskripter?
Sys.SQL_Modules er en SQL Server-tabel, der bruges til at gemme scriptet til den lagrede procedure. Navnet på den gemte procedure gemmes i tabellen kaldet Sys.Procedures.
30. Hvad er Magic Tables i SQL Server?
Under DML-operationer som Indsæt, Slet og Opdater opretter SQL Server magiske tabeller, der indeholder 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 Server?
SUBSTR-funktionen bruges til at returnere specifik del af streng 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, da jeg vises i strengens tredje 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 () -operatør?
ISNULL-funktionen bruges til at kontrollere, om den angivne værdi er NULL eller ikke 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 browseren.
35. Hvad er det maksimale antal indeks pr. Tabel?
For SQL Server 2008 100 kan Index bruges som maksimalt antal pr. Tabel. 1 klyngede indekser og 999 ikke-klyngede indekser pr. Tabel kan bruges i SQL Server.
1000-indeks kan bruges som maksimalt antal pr. Tabel. 1 klyngede indekser og 999 ikke-klyngede indekser pr. Tabel kan bruges i SQL Server.
1 klyngede indekser og 999 ikke-klyngede indekser pr. Tabel kan bruges i SQL Server.
36. Hvad er forskellen mellem COMMIT og ROLLBACK?
Hver erklæring mellem BEGIN og COMMIT bliver vedholdende i databasen, når COMMIT udføres. Hver erklæring mellem BEGIN og ROOLBACK vender tilbage til den tilstand, 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?
A @@ SPID returnerer session-id'et for den aktuelle brugerproces.
39. Hvad er kommandoen, der bruges til at kompilere den lagrede procedure igen på kørselstid?
Lagret procedure kan udføres ved hjælp af nøgleordet kaldet RECOMPILE.
Eksempel
ExeWITH RECOMPILE
Eller vi kan inkludere WITHRECOMPILE i selve den lagrede procedure.
40. Hvordan slettes dublerede rækker i SQL Server?
Dupliserede 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 præcis end GETDATE.
43. Hvordan kan data kopieres fra en tabel til en anden tabel?
INDSÆT I VÆLG
Denne kommando bruges til at indsætte data i en tabel, der allerede er oprettet.
VÆLG IND
Denne kommando bruges til at oprette en ny tabel, og dens struktur og data kan kopieres fra eksisterende tabel.
44. Hvad er TABELSAMPEL?
TABLESAMPLE bruges til at udtrække stikprøver af rækker tilfældigt, som alle er nødvendige for applikationen. Prøverækkerne taget er baseret på procentdelen af rækker.
45. Hvilken kommando bruges til brugerdefinerede fejlmeddelelser?
RAISEERROR er den kommando, der bruges til at generere og igangsætte fejlbehandling for en given session. Disse brugerdefinerede meddelelser er gemt i sys.messages-tabellen.
46. Hvad betyder XML-datatype?
XML-datatype bruges til at gemme XML-dokumenter i SQL Server-databasen. Kolonner og variabler oprettes og gemmer XML-forekomster i databasen.
47. Hvad er CDC?
CDC forkortes som Change Data Capture, der bruges til at registrere de data, der er blevet ændret for nylig. Denne funktion findes 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-server til parsing og udførelse. Alle udsagn skal kontrolleres for sårbarheder, da det udfører alle syntaktisk gyldige forespørgsler, som den modtager.
Selv parametre kan manipuleres af dygtige og erfarne angribere.
49. Hvilke metoder bruges til at beskytte mod SQL-injektionsangreb?
Følgende er de metoder, der bruges til at beskytte mod SQL-injektionsangreb:
- Brug parametre til lagrede procedurer
- Filtrering af inputparametre
- Brug Parametersamling med Dynamic SQL
- I samme klausul undslipper bruger tegn
50. Hvad er filtreret indeks?
Filtreret indeks bruges til at filtrere en del af rækkerne i en tabel for at forbedre forespørgselsydeevne, indeksvedligeholdelse og reducerer indekslagringsomkostninger. Når indekset oprettes med WHERE-klausul, kaldes det Filtered Index