Jump to content

Datenbank Wartung?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Guten Morgen,

ich habe eine Frage zu einer MS SQL Datenbank. Ich persönlich komme aus dem Interbase / Firebird Umfeld. Unsere Datenbanken sind alle MS Sql basierend. Sie werden schon über Jahre betrieben. Sie sind indiziert, zwar mit Indezes aus mehreren Feldern davon halte ich gar nichts, aber sie haben Indezes. Unsere Kollegen beschweren sich aber immer mehr, dass Wartezeiten auf Daten aus der Datenbank teilweise lange dauert. Ich kann keine Fehler in der Datenbank entdecken. Im "Activity Monitor" sehe ich aber SQL Statements, meistens Updates bzw. Inserts, die bis zu 4 Sekunden dauern.

 

Eine Firebird Datenbank würde man bei diesen Symptomen mit einen BackUp / Restore wieder reorganisieren, wegen den internen Transaktionsketten.

 

Geht dies auch mit SQL Datenbanken? Welche Möglichkeiten habe ich hier?

 

Ich muss mich auf MS SQL Datenbanken einarbeiten.

 

Danke für Eure Hilfe.

Torsten

Geschrieben

Hallo

möglicherweise sind die Indexe defragmentiert oder die dazugehörigen Statistiken veraltet.

Es gilt zu prüfen ob ein Index auch verwendet wird bzw. werden kann. Hilfreich ist dabei das SQL Server Management Studio. 

Hast du das zur Verfügung?

 

Geschrieben

Moin,

 

ja, in MS SQL gibt es sehr viele Hilfsmittel, um eine Datenbank zu optimieren oder deren Performance zu diagnostizieren. Diese "auf Verdacht" zu verwenden, wird aber vermutlich nicht helfen.

 

Um den ersten Überblick zu gewinnen, empfehle ich die Sachen von Brent Ozar: https://www.brentozar.com/blitzcache/ 

 

Speziell auf die Wartung von Indizes und Statistiken konzentriert sich die Lösung von Ola Hallengren: https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html 

 

 

Geschrieben

Okay wer lesen kann ist klar im Vorteil. Du schreibst vom Activity Monitor- also hast du das Studio.

Du kannst im Studio über den Objekt Explorer die Fragmentierung eines Index in seinen Eigenschaften / Fragmentierung nachsehen.

Und du kannst schauen ob die Statistiken veraltet sind. 

 

Das Reorganisieren bzw. Neuerstellen kannst du entweder über das Objektexplorer vornehmen oder per Script

Abhängig von der Eingesetzten SQL Version entweder mit Alter Index 

https://docs.microsoft.com/de-de/sql/t-sql/statements/alter-index-transact-sql?view=sql-server-ver15

oder

dbcc dbreindex

https://docs.microsoft.com/de-de/sql/t-sql/database-console-commands/dbcc-dbreindex-transact-sql?view=sql-server-ver15

 

Geschrieben

Danke für die Informationen. Ich werde mir diese in den nächsten Tagen genau anschauen.

 

Vielen Dank

Noch eine Frage: Wenn ich die Datenbank mit BackUp / Restore bearbeite, werden dann die Indizes defragmentiert?

Und etwaige Fehler auch behoben???

Geschrieben

Moin,

 

man würde beim SQL Server (und bei nahezu allen anderen Datenbanken) jedenfalls kein Restore machen, um Performanceprobleme, fragmentierte Indizes oder ähnliches zu lösen. Dafür gibt es erheblich bessere Mechanismen, die hier ja auch schon genannt wurden.

 

Gruß, Nils

 

Geschrieben

Das SSMS zeigt auch an, ob Indizes fehlen, und wenn welche fehlen, welche genau. Dazu im Studio einen Rechtsklick auf den Server/Instanz und dann über Berichte > Leistungsdashboard ganz unten den Link Fehlende Indizes anklicken. Das sind Vorschläge, ob man die Indizes anlegt oder bestehende erweitert, muss man in jedem Fall VORHER prüfen!

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...