Vollständiges Handbuch für die SQL-Datenbankintegritätsprüfung
Inhaltsverzeichnis
- Informationen zur SQL-Datenbankintegritätsprüfung
- Wie oft sollten Sie Datenbankintegritätsprüfungen für die SQL Server-Datenbank durchführen?
- Wie prüfe ich die Datenbankintegrität in SQL Server?
- SQL Server Management Studio verwenden
- Aufgabe Datenbankintegrität prüfen verwenden
- Was tun, wenn die Datenbankintegritätsprüfung fehlschlägt?
- Alternative zur Behebung von SQL-Datenbankkonsistenzfehlern
- Fazit
Informationen zur SQL-Datenbankintegritätsprüfung
Die Durchführung von Integritätsprüfungen ist Teil des SQL Server-Datenbankwartungsplans, mit dem die Konsistenz der Datenbank sichergestellt werden kann.
Um genauer zu sein, helfen Integritätsprüfungen dabei, die Effektivität der Produktionsdatenbank oder der wiederhergestellten Sicherung aufrechtzuerhalten, indem Konsistenzfehler (Korruption) in der Datenbank erkannt werden.
Wie oft sollten Sie Datenbankintegritätsprüfungen für die SQL Server-Datenbank durchführen?
Die Durchführung von Integritätsprüfungen kann ein zeit- und ressourcenintensiver Prozess sein. Daher ist es wichtig zu verstehen, wie oft Sie Integritätsprüfungen durchführen sollten. Um dies zu entscheiden, nehmen wir zwei Beispiele:
- Ihre SQL-Datenbank ist beschädigt oder beschädigt. Sie haben keine Backups. Die einzige Möglichkeit, die Datenbank wiederherzustellen, besteht darin, die Reparaturoption auszuführen, die das Risiko eines Datenverlusts birgt. In diesem Fall kann die regelmäßige Durchführung von Integritätsprüfungen (täglich oder stündlich) Datenbankbeschädigungen frühzeitig erkennen und Datenverlust und Ausfallzeiten minimieren.
- Sie verfügen über eine umfassende Datenbanksicherungsstrategie, mit der Sie eine SQL-Datenbank ohne oder mit minimalem Datenverlust und Ausfallzeiten wiederherstellen können. In diesem Fall können Sie einmal pro Woche Integritätsprüfungen durchführen.
Wie prüfe ich die Datenbankintegrität in SQL Server?
Im Folgenden sind die beiden Methoden zum Überprüfen der SQL-Datenbankintegrität aufgeführt:
Methode 1 – Verwenden von SQL Server Management Studio (SSMS)
- Öffnen Sie SSMS und stellen Sie eine Verbindung zu Ihrer SQL Server-Instanz her.
- Klicken Sie in Datenbanken mit der rechten Maustaste auf die Datenbank, für die Sie Integritätsprüfungen durchführen möchten, und klicken Sie dann auf die Option Neue Abfrage.
- Geben Sie im Fenster ‚Neue Abfrage‘ DBCC CHECKDB ein und klicken Sie dann auf die Schaltfläche Ausführen, um die Abfrage auszuführen.
Wenn der Abfragebericht „0 Zuordnungsfehler und 0 Konsistenzfehler“ ausgeführt wird, bedeutet dies, dass die Datenbank fehlerfrei ist. Wenn Konsistenzfehler gemeldet werden, überprüfen Sie die empfohlene Mindestreparaturstufe, die Sie am Ende der Nachrichtenzusammenfassung durchführen müssen (siehe Abbildung unten):
Abbildung 1 – Ausführen von DBCC CHECKDB zum Ausführen der Datenbankintegritätsprüfung
Methode 2 – Verwenden der Aufgabe Datenbankintegritätsprüfung
Führen Sie die folgenden Schritte aus, um die Datenbankintegrität mithilfe der Aufgabe ‚Datenbankintegritätsprüfung überprüfen‘ in SQL Server Integration Services (SSIS):
- Öffnen Sie SQL Server Data Tools (SSDT).
- Klicken Sie im folgenden Fenster auf Datei > Neues > Projekt.
- Wählen Sie im angezeigten Fenster ‚Neues Projekt‘ die Option Integration Services-Projekt aus, und klicken Sie dann auf OK.
- Doppelklicken Sie unter SSIS Toolbox unter Andere Aufgaben auf die Taskoption Datenbankintegrität überprüfen. Die Aufgabe hilft bei der Überprüfung der logischen und physischen Integrität der Datenbankobjekte.
- Doppelklicken Sie auf das Kontrollkästchen Datenbankintegrität prüfen. Dies öffnet ein ‚Check Database Integrity Task‘ Pop-up-Fenster. Erstellen Sie in diesem Fenster eine neue Verbindung, indem Sie auf die Schaltfläche Neu klicken.
- Geben Sie im Dialogfeld ‚Verbindungseigenschaften‘ den Verbindungsnamen und den Namen Ihres SQL Servers ein und wählen Sie die Windows-Authentifizierungsmethode (empfohlen). OK.
- Klicken Sie auf den Dropdown-Pfeil neben Datenbank(en): Textfeld. Wählen Sie eine einzelne oder mehrere Datenbanken aus, für die Sie Integritätsprüfungen durchführen möchten. Drücken Sie OK.
- Sie können optional auf die Schaltfläche T-SQL anzeigen klicken, um die DBCC CHECKDBA-Anweisung anzuzeigen und eine geplante Integritätsprüfung der ausgewählten Datenbank(en) durchzuführen.
Hinweis: Aktivieren Sie das Kontrollkästchen ‚Indizes einschließen‘, wenn Sie auch Integritätsprüfungen für die Datenbankindexseiten durchführen möchten.
- DBCC CHECKDB-Anweisung zum Ausführen einer geplanten Integritätsprüfung.
- Doppelklicken Sie auf die Aufgabe T-SQL-Anweisung ausführen, und fügen Sie die Aufgaben mit einer Einschränkung hinzu.
- Klicken Sie auf die Schaltfläche ‚Debugging starten‘, um das Paket ‚Datenbankintegritätsaufgabe prüfen‘ auszuführen und alle von Ihnen erstellten Aufgaben auszuführen.
Die Aufgaben werden mit grünem Status angezeigt, wenn alles in Ordnung ist.
Manchmal schlagen die Integritätsprüfungen jedoch fehl und zeigen Fehler an. Dies geschieht, wenn die SQL-Datenbank beschädigt ist.
Was tun, wenn die SQL-Datenbankintegritätsprüfung fehlschlägt?
Wenn die SQL-Datenbankintegritätsprüfung einer Datenbank fehlschlägt, ist es ratsam, die SQL-Datenbank aus der letzten Sicherung wiederherzustellen. Wenn Sie keine Sicherungen haben, können Sie den Datenbankreparaturprozess durchführen, indem Sie den Befehl DBCC CHECKDB mit der Option ‚REPAIR_ALLOW_DATA_LOSS‘ ausführen.
Lesen Sie dies: Wie repariert man eine SQL-Datenbank mit dem Befehl DBCC CHECKDB?
Die Option ‚REPAIR_ALLOW_DATA_LOSS‘ kann Datenbankkonsistenzfehler beheben. Es hilft jedoch nur, die physische Struktur der Datenbank zu reparieren, nicht die interne Datenintegrität. Mit anderen Worten, das Ausführen des Befehls DBCC CHECKDB mit der Option ‚REPAIR_ALLOW_DATA_LOSS‘ kann zu Datenverlust führen.
Sie können SQL-Datenbankkonsistenzfehler auch beheben, indem Sie den Befehl ‚REPAIR_REBUILD‘ ausführen. Der Befehl wird normalerweise zur Korrektur von Problemen in nicht gruppierten Indizes verwendet. Diese Option führt nicht zu Datenverlust.
Alternative zur Behebung von SQL-Datenbankkonsistenzfehlern
Wenn die Ausführung des Befehls DBCC CHECKDB die Datenintegrität und -konsistenz Ihrer SQL Server-Datenbank nicht aufrechterhalten konnte, können Sie ein alternatives SQL-Datenbankreparaturtool wie Stellar Repair für MS SQL verwenden, um das Problem zu beheben.
Die Software repariert stark beschädigte SQL-Datenbank MDF / NDF-Dateien unter Beibehaltung der Datenintegrität. Es kann Korruption in SQL-Datenbanken auf Windows-und Linux-Systemen beheben. Das SQL Repair Tool kann alle Datenbankobjekte wiederherstellen, einschließlich gelöschter Tabellendatensätze der SQL-Versionen 2019, 2017, 2016 und früherer Versionen.
Fazit
Überprüfen Sie beim Ausführen von SQL Server die Datenbankintegrität regelmäßig, um sicherzustellen, dass die Datenbank fehlerfrei und nicht beschädigt ist. In diesem Artikel werden die Schritte erläutert, die Sie in SSIS ausführen müssen, um Integritätsprüfungen für eine SQL Server-Datenbank durchzuführen. Außerdem wird die Verwendung des Befehls DBCC CHECKDB mit Reparaturoptionen erläutert, wenn die Integritätsprüfung fehlschlägt. Das Ausführen von DBCC CHECKDB mit dem Befehl ‚REPAIR_ALLOW_DATA_LOSS‘ kann jedoch zu Datenverlust und Inkonsistenzfehlern führen. In diesem Fall ist es eine bessere Alternative, Stellar Repair for MS SQL zu verwenden, um die Datenbankkonsistenzfehler ohne das Risiko von Datenverlust zu beheben.