Die 50 wichtigsten Fragen und Antworten zum SQL Server-Interview (2025)
Fragen und Antworten zum SQL Server-Interview für Studienanfänger
1. Welche zwei Authentifizierungsmodi gibt es in SQL Server?
Es gibt zwei Authentifizierungsmodi:
- Windows Model
- Mischform
Modi können geändert werden, indem Sie das Menü „Extras“ der SQL Server-Konfigurationseigenschaften auswählen und die Seite „Sicherheit“ auswählen.
👉Kostenloser PDF-Download: Fragen und Antworten zum SQL Server-Interview
2. Was ist SQL Profiler?
SQL Profiler ist ein Tool, mit dem Systemadministratoren Ereignisse im SQL-Server überwachen können. Dies wird hauptsächlich verwendet, um Daten zu jedem Ereignis einer Datei oder Tabelle zur Analyse zu erfassen und zu speichern.
3. Was ist eine rekursive gespeicherte Prozedur?
SQL Server unterstützt rekursive gespeicherte Prozeduren, die sich selbst aufrufen. Rekursive gespeicherte Prozeduren können als eine Methode zur Problemlösung definiert werden, bei der die Lösung wiederholt gefunden wird. Es können bis zu 32 Ebenen verschachtelt werden.
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. Was sind die Unterschiede zwischen lokalen und globalen temporären Tabellen?
- Lokale temporäre Tabellen sind sichtbar, wenn eine Verbindung besteht, und werden gelöscht, wenn die Verbindung geschlossen wird.
CREATE TABLE #<tablename>
- Globale temporäre Tabellen sind für alle Benutzer sichtbar und werden gelöscht, wenn die Verbindung, die sie erstellt hat, geschlossen wird.
CREATE TABLE ##<tablename>
5. Was ist eine CHECK-Einschränkung?
Eine CHECK-Einschränkung kann auf eine Spalte in einer Tabelle angewendet werden, um die Werte zu begrenzen, die in einer Spalte platziert werden können. Die Prüfeinschränkung dient der Durchsetzung der Integrität.
6. Können SQL-Server mit anderen Servern verknüpft werden?
SQL Server kann mit jeder Datenbank verbunden werden, die über einen OLE-DB-Anbieter verfügt, um einen Link bereitzustellen. Beispiel: Oracle verfügt über einen OLE-DB-Anbieter, der über eine Verbindung zur SQL-Servergruppe verfügt.
7. Was ist eine Unterabfrage und ihre Eigenschaften?
Eine Unterabfrage ist eine Abfrage, die in einer Hauptabfrage wie Select-, Update-, Insert- oder Delete-Anweisungen verschachtelt werden kann. Dies kann verwendet werden, wenn Ausdruck zulässig ist. Eigenschaften einer Unterabfrage können definiert werden als:
- Eine Unterabfrage sollte keine Order-by-Klausel enthalten
- Eine Unterabfrage sollte auf der rechten Seite des Vergleichsoperators der Hauptabfrage platziert werden
- Eine Unterabfrage sollte in Klammern eingeschlossen werden, da sie zuerst vor der Hauptabfrage ausgeführt werden muss
- Es kann mehr als eine Unterabfrage enthalten sein
8. Welche Arten von Unterabfragen gibt es?
Es gibt drei Arten von Unterabfragen:
- Einzelzeilen-Unterabfrage, die nur eine Zeile zurückgibt
- Unterabfrage mit mehreren Zeilen, die mehrere Zeilen zurückgibt
- Unterabfrage mit mehreren Spalten, die mehrere Spalten an die Hauptabfrage zurückgibt. Mit diesem Ergebnis der Unterabfrage wird die Hauptabfrage ausgeführt.
9. Was ist ein SQL Server-Agent?
Der SQL Server-Agent spielt eine wichtige Rolle bei den täglichen Aufgaben des SQL Server-Administrators (DBA). Der Zweck des Serveragenten besteht darin, die Aufgaben einfach mit der Scheduler-Engine zu implementieren, die es unseren Jobs ermöglicht, zum geplanten Datum und zur geplanten Uhrzeit ausgeführt zu werden.
10. Was sind geplante Aufgaben in SQL Server?
Geplante Aufgaben oder Jobs werden zur Automatisierung von Prozessen verwendet, die zu einem geplanten Zeitpunkt in regelmäßigen Abständen ausgeführt werden können. Diese Aufgabenplanung trägt dazu bei, menschliche Eingriffe während der Nacht zu reduzieren und die Fütterung kann zu einer bestimmten Zeit erfolgen. Der Benutzer kann auch die Aufgaben anordnen, in denen es generiert werden muss.
11. Was ist COALESCE in SQL Server?
COALESCE wird verwendet, um den ersten Nicht-Null-Ausdruck innerhalb der Argumente zurückzugeben. Diese Funktion wird verwendet, um aus mehr als einer Spalte in den Argumenten einen Wert ungleich Null zurückzugeben.
Beispiel -
Select COALESCE(empno, empname, salary) from employee;
12. Wie können Ausnahmen in der SQL Server-Programmierung behandelt werden?
Ausnahmen werden mit TRY--CATCH-Konstrukten behandelt und durch Schreiben von Skripten im TRY-Block und Fehlerbehandlung im CATCH-Block behandelt.
13. Was ist der Zweck der FLOOR-Funktion?
Die FLOOR-Funktion wird verwendet, um einen nicht ganzzahligen Wert auf die vorherige kleinste Ganzzahl aufzurunden. Es wird ein Beispiel gegeben
FLOOR(6.7)
Rückgabe 6.
14. Können wir Sperren in der Datenbank überprüfen? Wenn ja, wie können wir diese Sperrprüfung durchführen?
Ja, wir können Sperren in der Datenbank überprüfen. Dies kann durch die Verwendung einer integrierten gespeicherten Prozedur namens sp_lock erreicht werden.
15. Wozu dient die SIGN-Funktion?
Mit der SIGN-Funktion wird ermittelt, ob die angegebene Zahl positiv, negativ oder Null ist. Dies gibt +1, -1 oder 0 zurück.
Beispiel -
SIGN(-35) returns -1
16. Was ist ein Auslöser?
Trigger werden verwendet, um einen SQL-Codestapel auszuführen, wenn Einfüge-, Aktualisierungs- oder Löschbefehle für eine Tabelle ausgeführt werden. Trigger werden automatisch ausgelöst oder ausgeführt, wenn die Daten geändert werden. Sie können bei Einfüge-, Lösch- und Aktualisierungsvorgängen automatisch ausgeführt werden.
17. Welche Arten von Auslösern gibt es?
Es gibt vier Arten von Auslösern:
- Insert
- Löschen
- Aktualisierung
- Anstelle von
18. Was ist eine IDENTITY-Spalte in Einfügeanweisungen?
Die IDENTITY-Spalte wird in Tabellenspalten verwendet, um diese Spalte als automatisch inkrementelle Nummer oder als Ersatzschlüssel zu erstellen.
19. Was ist Bulkcopy in SQL?
Bulkcopy ist ein Tool zum Kopieren großer Datenmengen aus Tabellen. Dieses Tool wird zum Laden großer Datenmengen in SQL Server verwendet.
20. Welche Abfrage wird verwendet, um die Liste der Auslöser in einer Datenbank abzurufen?
Abfrage zum Abrufen der Liste der Trigger in der Datenbank.
Select * from sys.objects where type='tr'
21. Was ist der Unterschied zwischen UNION und UNION ALL?
- UNION: Um verwandte Informationen aus zwei Tabellen auszuwählen, wird der UNION-Befehl verwendet. Es ähnelt dem JOIN-Befehl.
- UNION All: Der Befehl UNION ALL entspricht dem Befehl UNION, außer dass UNION ALL alle Werte auswählt. Es werden keine doppelten Zeilen entfernt, sondern alle Zeilen aus allen Tabellen abgerufen.
22. Wie werden globale temporäre Tabellen dargestellt und welchen Umfang haben sie?
Globale temporäre Tabellen werden mit ## vor dem Tabellennamen dargestellt. Der Geltungsbereich liegt außerhalb der Sitzung, während sich lokale temporäre Tabellen innerhalb der Sitzung befinden. Die Sitzungs-ID kann mit @@SPID ermittelt werden.
Fragen und Antworten zum SQL Server-Interview für Erfahrene
23. Was sind die Unterschiede zwischen Stored Procedure und dynamischem SQL?
Eine gespeicherte Prozedur ist eine Reihe von Anweisungen, die in kompilierter Form gespeichert werden. Dynamisches SQL ist eine Reihe von Anweisungen, die zur Laufzeit dynamisch erstellt werden und nicht in einer Datenbank gespeichert werden, sondern einfach zur Laufzeit ausgeführt werden.
24. Was ist Kollation?
Die Sortierung wird definiert, um die Sortierreihenfolge in einer Tabelle anzugeben. Es gibt drei Arten der Sortierreihenfolge:
- Groß- / Kleinschreibung beachten
- Groß-/Kleinschreibung nicht beachten
- Binär
25. Wie können wir die Anzahl der Datensätze in einer Tabelle ermitteln?
Die folgenden Abfragen können verwendet werden, um die Anzahl der Datensätze in einer Tabelle abzurufen:
Select * from <tablename> Select count(*) from <tablename> Select rows from sysindexes where id=OBJECT_ID(tablename) and indid<2
26. Welcher Befehl wird verwendet, um die Version von SQL Server abzurufen?
Select SERVERPROPERTY('productversion')
wird verwendet, um die Version von SQL Server abzurufen.
27. Was ist der UPDATE_STATISTICS-Befehl?
Der Befehl UPDATE_STATISTICS wird verwendet, um die Indizes der Tabellen zu aktualisieren, wenn eine große Anzahl von Löschungen oder Änderungen oder Massenkopien in Indizes erfolgt sind.
28. Wozu dient die SET NOCOUNT ON/OFF-Anweisung?
Standardmäßig ist NOCOUNT auf OFF gesetzt und gibt bei jeder Ausführung des Befehls die Anzahl der betroffenen Datensätze zurück. Wenn der Benutzer die Anzahl der betroffenen Datensätze nicht anzeigen möchte, kann dies explizit auf ON- (SET NOCOUNT ON) gesetzt werden.
29. Welche SQL Server-Tabelle wird zum Speichern der gespeicherten Prozedurskripte verwendet?
Sys.SQL_Modules ist eine SQL Server-Tabelle, die zum Speichern des Skripts der gespeicherten Prozedur verwendet wird. Der Name der gespeicherten Prozedur wird in der Tabelle „Sys.Procedures“ gespeichert.
30. Was sind Magic Tables in SQL Server?
Während DML-Operationen wie Einfügen, Löschen und Aktualisieren erstellt SQL Server Magic Tables, um die Werte während der DML-Operationen zu speichern. Diese Magic Tables werden innerhalb der Trigger für Datentransaktionen verwendet.
31. Was ist der Unterschied zwischen SUBSTR und CHARINDEX im SQL Server?
Die SUBSTR-Funktion wird verwendet, um einen bestimmten Teil einer Zeichenfolge in einer bestimmten Zeichenfolge zurückzugeben. Die CHARINDEX-Funktion gibt jedoch die Zeichenposition in einer bestimmten angegebenen Zeichenfolge an.
SUBSTRING('Smiley',1,3)
Gibt das Ergebnis als Smi aus
CHARINDEX('i', 'Smiley',1)
Ergibt 3 als Ergebnis, da I in 3 erscheintrd Position der Saite
32. Wie kann man ein Login erstellen?
Mit dem folgenden Befehl können Sie einen Login erstellen
CREATE LOGIN MyLogin WITH PASSWORD = '123';
33. Was ist der ISNULL()-Operator?
Die Funktion ISNULL wird verwendet, um zu überprüfen, ob der angegebene Wert NULL ist oder nicht. Diese Funktion bietet auch die Möglichkeit, einen Wert durch NULL zu ersetzen.
34. Wozu dient die FOR-Klausel?
Die FOR-Klausel wird hauptsächlich für verwendet XML und Browseroptionen. Diese Klausel wird hauptsächlich verwendet, um die Abfrageergebnisse im XML-Format oder im Browser anzuzeigen.
35. Wie hoch ist die maximale Anzahl an Indizes pro Tabelle?
Für SQL Server 2008 kann der Index 100 als maximale Anzahl pro Tabelle verwendet werden. 1 ClusterIm SQL Server können 999 gruppierte Indizes und XNUMX nicht gruppierte Indizes pro Tabelle verwendet werden.
Als maximale Anzahl pro Tabelle kann der Index 1000 verwendet werden. 1 ClusterIm SQL Server können 999 gruppierte Indizes und XNUMX nicht gruppierte Indizes pro Tabelle verwendet werden.
1 ClusterIm SQL Server können 999 gruppierte Indizes und XNUMX nicht gruppierte Indizes pro Tabelle verwendet werden.
36. Was ist der Unterschied zwischen COMMIT und ROLLBACK?
Jede Anweisung zwischen BEGIN und COMMIT wird für die Datenbank persistent, wenn COMMIT ausgeführt wird. Jede Anweisung zwischen BEGIN und ROOLBACK wird auf den Zustand zurückgesetzt, in dem ROLLBACK ausgeführt wurde.
37. Was ist der Unterschied zwischen den Typen varchar und nvarchar?
Varchar und nvarchar sind identisch, der einzige Unterschied besteht jedoch darin, dass nvarhcar zum Speichern von Unicode-Zeichen für mehrere Sprachen verwendet werden kann und im Vergleich zu varchar auch mehr Platz benötigt.
38. Wozu dient @@SPID?
Ein @@SPID gibt die Sitzungs-ID des aktuellen Benutzerprozesses zurück.
39. Mit welchem Befehl wird die gespeicherte Prozedur zur Laufzeit neu kompiliert?
Gespeicherte Prozeduren können mit Hilfe des Schlüsselworts RECOMPILE ausgeführt werden.
Beispiel
Exe <SPName> WITH RECOMPILE
Oder wir können WITHRECOMPILE in die gespeicherte Prozedur selbst einschließen.
40. Wie lösche ich doppelte Zeilen in SQL Server?
Doppelte Zeilen können mit der CTE- und ROW NUMER-Funktion von SQL Server gelöscht werden.
41. Wo werden SQL Server-Benutzernamen und Passwörter in SQL Server gespeichert?
Benutzernamen und Passwörter werden in sys.server_principals und sys.sql_logins gespeichert. Passwörter werden jedoch nicht in normalem Text gespeichert.
42. Was ist der Unterschied zwischen GETDATE und SYSDATETIME?
Beide sind gleich, aber GETDATE kann eine Zeit bis zu Millisekunden und SYSDATETIME eine Genauigkeit bis zu Nanosekunden liefern. SYSDATE TIME ist genauer als GETDATE.
43. Wie können Daten von einer Tabelle in eine andere Tabelle kopiert werden?
INSERT INTO SELECT
Mit diesem Befehl werden Daten in eine bereits erstellte Tabelle eingefügt.
SELECT INTO
Mit diesem Befehl wird eine neue Tabelle erstellt, deren Struktur und Daten aus einer vorhandenen Tabelle kopiert werden können.
44. Was ist TABLESAMPLE?
TABLESAMPLE wird verwendet, um zufällig Stichproben von Zeilen zu extrahieren, die alle für die Anwendung erforderlich sind. Die entnommenen Stichprobenzeilen basieren auf dem Prozentsatz der Zeilen.
45. Welcher Befehl wird für benutzerdefinierte Fehlermeldungen verwendet?
RAISEERROR ist der Befehl, der zum Generieren und Einleiten der Fehlerverarbeitung für eine bestimmte Sitzung verwendet wird. Diese benutzerdefinierten Nachrichten werden in der Tabelle sys.messages gespeichert.
46. Was versteht man unter XML-Datentyp?
Der XML-Datentyp wird zum Speichern von XML-Dokumenten im verwendet SQL Server-Datenbank. Spalten und Variablen werden erstellt und speichern XML-Instanzen in der Datenbank.
47. Was ist CDC?
CDC wird als Change Data Capture abgekürzt und dient zur Erfassung der Daten, die kürzlich geändert wurden. Diese Funktion ist in SQL Server 2008 vorhanden.
48. Was ist SQL-Injection?
SQL-Injection ist ein Angriff böswilliger Benutzer, bei dem Schadcode in Zeichenfolgen eingefügt werden kann, die zur Analyse und Ausführung an eine Instanz des SQL-Servers übergeben werden können. Alle Anweisungen müssen auf Schwachstellen überprüft werden, da alle syntaktisch gültigen Abfragen ausgeführt werden, die sie erhalten.
Sogar Parameter können von geschickten und erfahrenen Angreifern manipuliert werden.
49. Welche Methoden werden zum Schutz vor SQL-Injection-Angriffen verwendet?
Die folgenden Methoden dienen zum Schutz vor SQL-Injection-Angriffen:
- Verwenden Sie Parameter für gespeicherte Prozeduren
- Eingabeparameter filtern
- Verwenden Sie die Parametersammlung mit Dynamic SQL
- In der Like-Klausel werden Benutzer-Escape-Zeichen verwendet
50. Was ist ein gefilterter Index?
Der gefilterte Index wird verwendet, um einen Teil der Zeilen in einer Tabelle zu filtern, um die Abfrageleistung und Indexpflege zu verbessern und die Indexspeicherkosten zu senken. Wenn der Index mit der WHERE-Klausel erstellt wird, wird er als gefilterter Index bezeichnet.
Diese Interviewfragen helfen auch bei Ihrer mündlichen Prüfung