PDF Herunterladen
1. Was sind die beiden Authentifizierungsmodi in SQL Server?
Es gibt zwei Authentifizierungsmodi:
- Windows-Modus
- Mischform
Die Modi können geändert werden, indem Sie das Menü Extras der SQL Server-Konfigurationseigenschaften auswählen und die Sicherheitsseite auswählen.
2. Was ist SQL Profiler?
SQL Profiler ist ein Tool, mit dem Systemadministratoren Ereignisse auf dem 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 von selbst aufrufen. Rekursive gespeicherte Prozedur kann als ein Verfahren zur Problemlösung definiert werden, bei dem die Lösung wiederholt erreicht wird. Es kann bis zu 32 Ebenen verschachteln.
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. 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 #
- 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 ##
5. Was ist die 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 Überprüfungsbeschränkung besteht darin, die Integrität zu erzwingen.
6. Können SQL Server mit anderen Servern verbunden 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 Server-Gruppe 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 der Unterabfrage können definiert werden als
- Eine Unterabfrage sollte keine order by-Klausel haben
- 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:
- Einzelzeilige 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, mit der unsere Jobs zum geplanten Datum und zur geplanten Uhrzeit ausgeführt werden können.
10. Was sind geplante Aufgaben in SQL Server?
Geplante Aufgaben oder Jobs werden verwendet, um Prozesse zu automatisieren, die in regelmäßigen Abständen zu einer geplanten Zeit ausgeführt werden können. Diese Planung von Aufgaben hilft, menschliche Eingriffe während der Nachtzeit zu reduzieren, und die Fütterung kann zu einer bestimmten Zeit erfolgen. Der Benutzer kann auch die Aufgaben bestellen, 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 eine Nicht-Null aus mehr als einer Spalte in den Argumenten 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 in den 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. Beispiel wird 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 bestimmt, ob die angegebene Anzahl positiv, negativ und null ist. Dies gibt + 1, -1 oder 0 zurück.
Beispiel -
SIGN(-35) returns -1
16. Was ist ein Trigger?
Trigger werden verwendet, um einen Stapel von SQL-Code 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. Es kann automatisch beim Einfügen, Löschen und Aktualisieren ausgeführt werden.
17. Welche Arten von Triggern gibt es?
Es gibt vier Arten von Auslösern:
- Einfügen
- Löschen
- Aktualisieren
- Statt
18. Was ist eine IDENTITY-Spalte in insert-Anweisungen?
Die IDENTITY-Spalte wird in Tabellenspalten verwendet, um diese Spalte als automatische Inkrementalnummer oder als Ersatzschlüssel festzulegen.
19. Was ist Bulkcopy in SQL?
Bulkcopy ist ein Tool zum Kopieren großer Datenmengen aus Tabellen. Mit diesem Tool werden große Datenmengen in SQL Server geladen.
20. Mit welcher Abfrage wird die Liste der Trigger in einer Datenbank abgerufen?
Abfrage, um die Liste der Trigger in der Datenbank zu erhalten.
Select * from sys.objects where
21. Was ist der Unterschied zwischen UNION und UNION ALL?
- UNION: Zum Auswählen verwandter Informationen aus zwei Tabellen wird der Befehl UNION verwendet. Es ähnelt dem Befehl JOIN.
- 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 deren Umfang?
Globale temporäre Tabellen werden mit ## vor dem Tabellennamen dargestellt. Der Bereich befindet sich außerhalb der Sitzung, während sich lokale temporäre Tabellen innerhalb der Sitzung befinden. Die Sitzungs-ID finden Sie unter @@ SPID.
23. Was sind die Unterschiede zwischen gespeicherter Prozedur und dynamischem SQL?
Gespeicherte Prozedur ist eine Reihe von Anweisungen, die in kompilierter Form gespeichert werden. Dynamic SQL ist eine Reihe von Anweisungen, die zur Laufzeit dynamisch erstellt werden. Sie werden nicht in einer Datenbank gespeichert und einfach zur Laufzeit ausgeführt.
24. Was ist Kollatierung?
Die Sortierung wird definiert, um die Sortierreihenfolge in einer Tabelle anzugeben. Es gibt drei Arten der Sortierreihenfolge:
- Groß- und Kleinschreibung beachten
- Groß- und Kleinschreibung wird nicht berücksichtigt
- Binär
25. Wie können wir die Anzahl der Datensätze in einer Tabelle zählen?
Im Folgenden sind die Abfragen aufgeführt, mit denen die Anzahl der Datensätze in einer Tabelle ermittelt werden kann:
Select * fromSelect count(*) from Select rows from sysindexes where id=OBJECT_ID(tablename) and indid<2
26. Mit welchem Befehl wird die Version von SQL Server abgerufen?
Select SERVERPROPERTY('productversion')
wird verwendet, um die Version von SQL Server abzurufen.
27. Was ist der Befehl UPDATE_STATISTICS?
Der Befehl UPDATE_STATISTICS wird verwendet, um die Indizes für die Tabellen zu aktualisieren, wenn in Indizes eine große Anzahl von Löschungen oder Änderungen oder Massenkopien aufgetreten sind.
28. Wozu dient die Anweisung SET NOCOUNT ON / OFF?
Standardmäßig ist NOCOUNT auf OFF gesetzt und gibt die Anzahl der betroffenen Datensätze zurück, wenn der Befehl ausgeführt wird. Wenn der Benutzer die Anzahl der betroffenen Datensätze nicht anzeigen möchte, kann er explizit auf ON- (SET NOCOUNT ON) gesetzt werden.
29. In welcher SQL Server-Tabelle werden die Skripts für gespeicherte Prozeduren gespeichert?
Sys.SQL_Modules ist eine SQL Server-Tabelle, in der das Skript der gespeicherten Prozedur gespeichert wird. Der Name der gespeicherten Prozedur wird in der Tabelle Sys.Procedures gespeichert.
30. Was sind Magic Tables in SQL Server?
Während DML-Vorgängen wie Einfügen, Löschen und Aktualisieren erstellt SQL Server magische Tabellen, um die Werte während der DML-Vorgänge zu speichern. Diese magischen Tabellen werden in den Triggern 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 der 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 Ergebnis als Smi
CHARINDEX('i', 'Smiley',1)
Gibt 3 als Ergebnis , wie ich in 3 erscheinen rd Position der Zeichenfolge
32. Wie können Sie ein Login erstellen?
Mit dem folgenden Befehl können Sie eine Anmeldung erstellen
CREATE LOGIN MyLogin WITH PASSWORD = '123';
33. Was ist der ISNULL () Operator?
Mit der ISNULL-Funktion wird überprüft, ob der angegebene Wert auf dem SQL-Server 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 XML- und Browseroptionen verwendet. Diese Klausel wird hauptsächlich verwendet, um die Abfrageergebnisse im XML-Format oder im Browser anzuzeigen.
35. Wie hoch ist die maximale Anzahl von Indizes pro Tabelle?
Für SQL Server 2008 100 kann der Index als maximale Anzahl pro Tabelle verwendet werden. In SQL Server können 1 Clustered-Index und 999 Nicht-Clustered-Indizes pro Tabelle verwendet werden.
1000 Index kann als maximale Anzahl pro Tabelle verwendet werden. In SQL Server können 1 Clustered-Index und 999 Nicht-Clustered-Indizes pro Tabelle verwendet werden.
In SQL Server können 1 Clustered-Index und 999 Nicht-Clustered-Indizes pro Tabelle verwendet werden.
36. Was ist der Unterschied zwischen COMMIT und ROLLBACK?
Jede Anweisung zwischen BEGIN und COMMIT bleibt für die Datenbank bestehen, 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 varchar- und nvarchar-Typen?
Varchar und nvarchar sind gleich, aber der einzige Unterschied besteht 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. Was nützt @@ SPID?
Eine @@ SPID gibt die Sitzungs-ID des aktuellen Benutzerprozesses zurück.
39. Mit welchem Befehl wird die gespeicherte Prozedur zur Laufzeit neu kompiliert?
Die gespeicherte Prozedur kann mit Hilfe des Schlüsselworts RECOMPILE ausgeführt werden.
Beispiel
ExeWITH RECOMPILE
Oder wir können WITHRECOMPILE in die gespeicherte Prozedur selbst aufnehmen.
40. Wie lösche ich doppelte Zeilen in SQL Server?
Doppelte Zeilen können mit den Funktionen CTE und ROW NUMER von SQL Server gelöscht werden.
41. Wo werden SQL Server-Benutzernamen und -Kennwörter in SQL Server gespeichert?
Benutzernamen und Kennwörter werden in sys.server_principals und sys.sql_logins gespeichert. Passwörter werden jedoch nicht im normalen Text gespeichert.
42. Was ist der Unterschied zwischen GETDATE und SYSDATETIME?
Beide sind gleich, aber GETDATE kann Zeit bis Millisekunden und SYSDATETIME Präzision bis Nanosekunden geben. SYSDATE TIME ist genauer als GETDATE.
43. Wie können Daten von einer Tabelle in eine andere Tabelle kopiert werden?
INSERT IN SELECT
Mit diesem Befehl werden Daten in eine bereits erstellte Tabelle eingefügt.
AUSWÄHLEN IN
Mit diesem Befehl wird eine neue Tabelle erstellt und deren Struktur und Daten können aus einer vorhandenen Tabelle kopiert werden.
44. Was ist TABELLENBEISPIEL?
TABLESAMPLE wird verwendet, um Stichproben von Zeilen zufällig zu extrahieren, die alle für die Anwendung erforderlich sind. Die entnommenen Beispielzeilen basieren auf dem Prozentsatz der Zeilen.
45. Welcher Befehl wird für benutzerdefinierte Fehlermeldungen verwendet?
RAISEERROR ist der Befehl zum Generieren und Initiieren der Fehlerverarbeitung für eine bestimmte Sitzung. Diese benutzerdefinierten Nachrichten werden in der Tabelle sys.messages gespeichert.
46. Was bedeutet XML-Datentyp?
Der XML-Datentyp wird zum Speichern von XML-Dokumenten in der SQL Server-Datenbank verwendet. Spalten und Variablen werden erstellt und speichern XML-Instanzen in der Datenbank.
47. Was ist CDC?
CDC wird als Change Data Capture abgekürzt, mit dem die kürzlich geänderten Daten erfasst werden. Diese Funktion ist in SQL Server 2008 vorhanden.
48. Was ist SQL-Injection?
SQL Injection ist ein Angriff böswilliger Benutzer, bei dem bösartiger Code in Zeichenfolgen eingefügt werden kann, die zur Analyse und Ausführung an eine Instanz von SQL Server übergeben werden können. Alle Anweisungen müssen auf Schwachstellen überprüft werden, da alle empfangenen syntaktisch gültigen Abfragen ausgeführt werden.
Sogar Parameter können von erfahrenen Angreifern manipuliert werden.
49. Welche Methoden werden zum Schutz vor SQL-Injection-Angriffen verwendet?
Im Folgenden finden Sie die Methoden 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 entkommen Benutzerzeichen
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 die Indexpflege zu verbessern und die Kosten für die Indexspeicherung zu senken. Wenn der Index mit der WHERE-Klausel erstellt wird, wird er als gefilterter Index bezeichnet