SQL Server-Checklisten

14

Nach meiner anderen Frage möchte ich darüber nachdenken, was ich täglich / wöchentlich / monatlich in Bezug auf Warnmeldungen ansehen sollte. Ich hoffe, dass ich Probleme sehen kann, bevor sie auftreten (das ist der Plan) ...

Bisher habe ich damit begonnen, Skripte für Folgendes zu sammeln (keine Reihenfolge):

Täglich

  • Systemverfügbarkeit prüfen (nur für den Fall, dass ich als DBA etwas prüfen muss)
  • Überprüfen Sie die letzte Sicherung
  • Überprüfen Sie die Transaktionsprotokollsicherungen
  • Überprüfen Sie den Status von SQL-Jobs
  • Überprüfen Sie die durchschnittliche CPU-Auslastung der letzten 24 Stunden (oder 1140 Minuten).

Wöchentlich

  • Überprüfen Sie den MSDB-Sicherungsverlauf
  • Überprüfen Sie, wann CheckDB das letzte Mal ausgeführt wurde
  • Überprüfen Sie die Indexfragmentierung
  • Überprüfen Sie die Indexstatistiken (Lese- und Schreibzugriffe usw.).
  • Suchen Sie nach E / A-Engpässen

Monatlich

  • Überprüfen Sie fehlende Indizes
  • Überprüfen Sie nicht mehr verwendete Indizes

Irgendwelche anderen Vorschläge? (Ich bin neu bei DBA, daher ist jede Hilfe / jeder Rat immer willkommen.)

Stuart Blackler
quelle

Antworten:

3
  1. Backups

    • Suchen Sie nach Backup-E-Mails
    • Wie lange hat die Sicherung gedauert (Dauer der Datenbanksicherung)
    • Stellen Sie sicher, dass alle Datenbanken gemäß einem Wartungsplan gesichert werden
  2. Freier Speicherplatz. Beachten Sie die wesentlichen Abweichungen von der vorherigen Prüfung. Protokolldateien können durch monatliche Aufträge dramatisch beeinträchtigt werden

  3. Auftragsfehler. Jobaktivität nach Fehlern filtern

  4. Systemprüfungen. Suchen Sie in SQL-Protokollen nach kritischen Fehlern.

    • Anwendungsprotokolle
  5. Performance

    • Überprüfen Sie die Leistungsstatistik auf allen Servern
    • Stellen Sie sicher, dass sich die Leistungsindikatoren auf allen Produktionsservern im normalen Bereich befinden
  6. Konnektivität

    • Überprüfen Sie, ob die Kundenanwendung Daten aus der Datenbank abrufen kann
    • Überprüfen Sie die zulässige Geschwindigkeit der Zugriffsdaten
  7. Reproduzieren. Stellen Sie sicher, dass jede Publikation und jeder Verteiler für jedes Abonnement ausgeführt wird

SQL Server-DBA-Checkliste

Brad's Sure DBA Checkliste

Oracle DBA Checkliste (vielleicht nützlich)

Checkliste zur Verwaltung der SQL Server-DBA-Datenbank

DBA Morgen Checkliste

MS SQL Server DBA Checkliste (viele Checklisten)

SQL Server-DBA-Checkliste

Garik
quelle
4

Die einzige Variation, die ich auf Ihrer Checkliste vorschlagen würde, ist, das Wort BACKUP durch RESTORE zu ersetzen. Die Überprüfung, ob die Sicherungen vollständig sind, ist ein guter Anfang. Entscheidend ist, ob Sie sie wiederherstellen können oder nicht. Warnen Sie bei einem Backup-Fehler und automatisieren Sie eine zufällige Stichprobe von Wiederherstellungen, damit Sie wissen, dass Ihre Backups in Ordnung sind.

Der nächste Schritt von einer täglichen / wöchentlichen / monatlichen Checkliste ist die Geschichte. Eine Überprüfung der x / y / z-Leistungsindikatoren ist ohne eine Vergleichsbasis von heute mit gestern bedeutungslos. Ohne das Verständnis des heutigen und des gestrigen Tages ist es unmöglich, den nächsten Monat vorherzusagen.

Mark Storey-Smith
quelle
2

HAFTUNGSAUSSCHLUSS: Kein SQL Server-DBA

Wenn möglich, sollten Sie monatlich nach Indizes suchen, die nicht von Abfragen verwendet werden. Dafür möchten Sie auf jeden Fall etwas tun

  • sehr große Tische
  • Tabellen mit vielen Indizes
  • Indizes mit vielen Spalten (3 oder mehr)
RolandoMySQLDBA
quelle
4
Stellen Sie nur sicher, dass "nicht verwendet" einen gesamten Geschäftszyklus widerspiegelt. Ich habe von mehreren Fällen gehört, in denen der DBA beschlossen hat, einen Index zu löschen, der seit einigen Monaten nicht mehr verwendet wurde, und am nächsten Tag dauert der Quartalsbericht des CFO Stunden statt Sekunden ... Sie können sich nicht auf die index_usage_stats verlassen DMVs, vor allem, wenn Ihr Server regelmäßig neu gestartet wird. Dies würde ich nur tun, wenn Sie Ihre eigenen Nutzungsstatistiken über einen längeren Zeitraum aufbewahren ...
Aaron Bertrand
2

Überprüfen Sie regelmäßig die Länge der E / A-Warteschlange auf Engpässe.

Thomas Stringer
quelle
2

Etwas, das dabei hilft ... Idera hat ein kostenloses Tool zum Überprüfen von SQL Server-Jobs herausgebracht, das ich einige Male verwendet habe. Es ist sehr gut, um sich einen guten Überblick zu verschaffen, obwohl es einige Einschränkungen gibt, da es kostenlos ist. Eine Überprüfung lohnt sich: http://www.idera.com/Products/Free-Tools/SQL-job-manager/

Etwas, das ich für die Sicherheitsseite des Hauses hinzufügen würde ... Eine Ablaufverfolgungsdatei, die speziell für die Erfassung der Anmeldeaktivität für Benutzerkonten vorgesehen ist. Auf diese Weise können Sie inaktive Konten leicht finden. Dann auch ein Skript, das überwacht, wann jemand zu festen Server- / Datenbankrollen hinzugefügt wird. Besonders Sysadmin, wenn Sie nicht der einzige sind, der den Server / die Instanz verwaltet.


quelle
Ist eine Trace-Datei der beste Weg, dies zu tun?
Thomas Stringer
Es ist der einfachste Weg, an Informationen zu kommen. Es sei denn, Sie haben einen Trigger gesetzt, um die Informationen in einer Tabelle oder einem Protokoll zu erfassen. Bei Verwendung von SQL 2008 kann die Richtlinienverwaltung für diesen Zweck verwendet werden.
Ein Trace kann der beste Weg sein, @ShawnMelton. Es gibt eine Möglichkeit, die Registrierung ( sqlservercentral.com/articles/security/sqlserverauditingpart1/… ) so zu ändern , dass SQL Server alle Anmeldungen überprüft (erfolgreich und fehlgeschlagen). Ich bin mir nicht sicher, was das Beste ist, aber ich war immer besorgt darüber, dass eine Ablaufverfolgung auf unbestimmte Zeit laufen könnte. Ihre Gedanken?
Thomas Stringer
Ich hatte noch nie Probleme beim Ausführen von Trace-Dateien, bei denen die Leistung so stark beeinträchtigt wurde. Obwohl ich C2-Auditing aktiviert habe, mag ich es nicht, das zu aktivieren. Erweiterte Ereignisse bieten eine Alternative und sollen die bevorzugte Methode zur Verwendung von Tracedateien sein, die mehr Leistung mit sich bringen. Sie können bei diesen nachsehen, ob es eine Option für Anmeldeereignisse gibt, da bin ich mir sicher. Soweit ich sie verstehe, sind sie irgendwie davon ausgeschlossen, einen Leistungstreffer zu verursachen.
nett. Ich bin geneigt, Ihnen zuzustimmen. Und ja, C2 ist definitiv eine dieser Situationen, in denen man es nur braucht, wenn man es braucht.
Thomas Stringer
0
  • Überprüfen Sie das SQL Server- und das SQL Server-Agent-Fehlerprotokoll
  • Überprüfen Sie den Status von gespiegelten Servern (Prinzipal und Spiegel)
  • Änderungen der Jobausführungszeit prüfen
  • Überprüfen Sie den aktiven Knoten im SQL Server-Cluster
  • Überprüfen Sie den DISK SPACE
Alex_L
quelle