Tossi65 1 Geschrieben 20. Juli 2021 Melden Teilen Geschrieben 20. Juli 2021 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 Zitieren Link zu diesem Kommentar
MDD 12 Geschrieben 20. Juli 2021 Melden Teilen Geschrieben 20. Juli 2021 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? Zitieren Link zu diesem Kommentar
Tossi65 1 Geschrieben 20. Juli 2021 Autor Melden Teilen Geschrieben 20. Juli 2021 Hey, das kann ich nicht sagen. Wie kann ich das kontrollieren? Das Management Studio habe ich auf allen Servern zur Verfügung. Ich kenne mich mit den Tools zu MS SQL nicht so aus. Danke Zitieren Link zu diesem Kommentar
cj_berlin 1.312 Geschrieben 20. Juli 2021 Melden Teilen Geschrieben 20. Juli 2021 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 Zitieren Link zu diesem Kommentar
MDD 12 Geschrieben 20. Juli 2021 Melden Teilen Geschrieben 20. Juli 2021 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 1 Zitieren Link zu diesem Kommentar
Tossi65 1 Geschrieben 20. Juli 2021 Autor Melden Teilen Geschrieben 20. Juli 2021 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??? Zitieren Link zu diesem Kommentar
MDD 12 Geschrieben 20. Juli 2021 Melden Teilen Geschrieben 20. Juli 2021 Wäre mir ehrlich gesagt neu wenn das mit einem Backup / Restore sich verbessern sollte. Aber kann ich auch nicht 100 %ausschließen. Zitieren Link zu diesem Kommentar
NilsK 2.932 Geschrieben 20. Juli 2021 Melden Teilen Geschrieben 20. Juli 2021 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 1 Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 20. Juli 2021 Melden Teilen Geschrieben 20. Juli 2021 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! Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 20. Juli 2021 Melden Teilen Geschrieben 20. Juli 2021 Was sagt der Applikationsentwickler / DB Designer zu den Indizes? Dieser sollte am besten wissen, welche Felder indiziert gehören, da er die Abfragen designt. Zitieren Link zu diesem Kommentar
Tossi65 1 Geschrieben 20. Juli 2021 Autor Melden Teilen Geschrieben 20. Juli 2021 Der Kollege weilt leider nicht mehr unter uns. Ich habe die Anwendung als auch die Datenbanken mit kaum Doku geerbt. Aber ich wurschtel mich schon durch mit eurer Hilfe Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.