Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SQL Datenbank zu 99 Prozent fragmentiert

Mitglied: V-FSI09

V-FSI09 (Level 1) - Jetzt verbinden

23.02.2011 um 10:46 Uhr, 11357 Aufrufe, 9 Kommentare

Hallo zusammen,

ich habe folgende Konstellation. Aktuell läuft die Datenbank auf einem SQL Server 2000.
Ziel ist es die Datenbank auf einem SQL Server 2008 zum Laufen zu bringen und das performant.

Mein Problem:
Nach dem Übertragen/Wiederherstellen der DB auf dem neuen Server ist die Performance nicht spürbar besser.
Die Ausgabe des Befehls "dbcc showcontig" zeigt deutlich, dass die Datenbank sehr stark fragmentiert sind.
Hier ein Auszug einer Tabelle zu dem Befehl:

Die TABLE-Ebene wurde gescannt.
- Gescannte Seiten 3269
- Gescannte Blöcke 411
- Blockwechsel 410
- Seiten pro Block 8.0
- Scandichte [Beste Wert:Tatsächlicher Wert] 99.51% [409:411]
- Blockscanfragmentierung 99.76%
- Bytes frei pro Seite (Durchschnitt) 359.2
- Mittlere Seitendichte (voll) 95.56%

Folgende Punkte wurde zur Performancesteigerung schon umgesetzt:
- Die NTFS Blockgröße ist auf 64kB formatiert, so wie es von MS empfohlen wird
- Die MDF und die LDFs liegen auf einer separaten Festplatte
- Reindex brachte keinen erfolg. Defragmentierung der Indizes auch nicht.

Microsoft schreibt zu der Blockscanfragmentierung, dass der Wert zwischen 0 und 10 % akzeptabel ist. (Bei mir 99.76%)
Deshalb denke ich, dass dies mein größtes Problem ist!

Hat jemand eine Idee wie ich die Blockscanfragmentierung in Richtung 0 % verbessern kann?

Besten Dank!
Mitglied: Snowman25
23.02.2011 um 11:00 Uhr
Hallo V-FSI09,

Hast du schonmal die Datenbankfunktion VACUUM ausprobiert? Diese Defragmentieren deine Datenbank normalerweise. Ist auch stark spürbar, wenn der Firefox mal wieder langsam wird. Nachdem ein VACUUM auf die Userdatenbanken (History, Favoriten) losgelassen wurde, rennt er wieder

Gruß
Snow
Bitte warten ..
Mitglied: V-FSI09
23.02.2011 um 11:22 Uhr
Hallo Snow,

kann leider so eine Funktion für den MS SQL Server nicht finden.

Gruß
V-FSI09
Bitte warten ..
Mitglied: Snowman25
23.02.2011 um 11:24 Uhr
Hallo V-FSI09,

schau dir mal den DBCC INDEXDEFRAG-Befehl an.
Ausserdem: http://www.sqlhacks.com/Optimize/Defragment-Data
Gruß
Snow
Bitte warten ..
Mitglied: 32067
23.02.2011 um 11:26 Uhr
Hallo,

bist du dir denn sicher, daß du hier überhaupt an der richtigen Stelle suchst ?

http://msdn.microsoft.com/de-de/library/ms175008.aspx sagt zu dieser Fragmentierung:

Prozentsatz der Blöcke, die beim Scannen der Blattseiten eines Indexes nicht richtig einsortiert waren. Diese Zahl ist für Heaps nicht relevant. Ein nicht richtig einsortierter Block ist ein Block, für den der Block, der die aktuelle Seite eines Indexes enthält, physisch nicht der nächste Block nach dem Block ist, der die vorherige Seite des Indexes enthält.
HinweisHinweis Diese Zahl ist bedeutungslos, wenn der Index mehrere Dateien umfasst.

Also schonmal zwei Situationen, wo dieser Wert nix aussagt.

Wie groß ist denn die DB, wieviel RAM hat der Server ?
Bitte warten ..
Mitglied: V-FSI09
23.02.2011 um 11:53 Uhr
Hi,

der Server läuft auf 64 Bit und hat 8GB RAM, die betroffene DB hat um die 4 GB. Es gibt aber noch weitere DBs also insgesamt so ca. 16 GB MDFs.

Ich werde mal den DBCC INDEXDEFRAG Befehl ausprobieren...
Bitte warten ..
Mitglied: V-FSI09
23.02.2011 um 12:28 Uhr
Ich habe mal bei mir das Script zur Defragmentierung von Indizes ausgeführt und dabei maxfrag auf 5 gestellt.

Siehe: http://msdn.microsoft.com/de-de/library/ms177571.aspx
"Mit DBCC SHOWCONTIG und DBCC INDEXDEFRAG die Indizes in einer Datenbank defragmentieren"


Es wurden keine Indizes gefunden die über 5 % fragmentiert sind.

Somit brachte DBCC INDEXDEFRAG auch nichts.

Jemand noch ne Idee?
Bitte warten ..
Mitglied: MadMax
23.02.2011 um 13:13 Uhr
Hallo V-FSI09,

als Allerweltstip fällt mir noch ein, die Statistiken zu aktualisieren mit "exec sp_updatestats". Hat unter SQL Server 2000 Wunder gewirkt. In neueren Versionen des SQL Server kann man in den Optionen einstellen, daß das automatisch passiert, aber ich weiß nicht, wie die Einstellung ist, wenn Du eine SQL Server 2000 DB da reinbringst, ob das dann eingeschaltet ist. Auch weiß ich nicht, wie zuverlässig die Option ist, auf meinen DBen läuft dieser Befehl jedenfalls immer noch wöchentlich. Und schaden tut es eh nicht

Ob der neue Server unbedingt schneller sein muß, ist eh die Frage. Wir wissen nichts über die Hardware des alten Server und was auf dem alten und neuen Server sonst noch so läuft. Wenn der SQL Server 2000 auf einem nur wenig schwächeren Server lief und die einzige DB und Software war, dann kann es durchaus sein, daß sie auf dem neuen Server mit noch weiteren DBen und vielleicht noch anderen Programmen langsamer läuft. Allein der Wechsel von SQL Server 2000 zu 2008 macht die DB ja noch nicht deutlich schneller.

Und bist Du auch sicher, daß Dein Performanceproblem von der DB an sich herrührt und nicht von Netzwerk, Anwendung, DB-Design, ...? Wenn z.B. Indexe fehlen, wird die DB natürlich langsamer, je voller die Tabellen werden.

Gruß, Mad Max
Bitte warten ..
Mitglied: V-FSI09
23.02.2011 um 13:30 Uhr
Hallo,

den Befehl exec sp_updatestats habe ich auch schon ausprobiert, leider auch ohne Verbesserung.

Auf den den Servern sind sonst keine anderen Programme installiert außer der SQL Server.
Der alte/neue Server ist virtualisiert.

alte VM: Server 2000 32Bit mit SQL 2000 Std. mit 3 GB RAM
neue VM: Server 2008 64Bit mit SQL 2008 Std. mit 8 GB RAM

an den DBs hat sich nichts geändert, habe die lediglich auf den neuen wiederhergestellt.

Der alte SQL lief von Anfang an recht flott.
Die Datenbanken sind ja von Zeit zu Zeit langsamer geworden. Habe gehofft dass die Fehler bei der Übernahme auf den neuen Server nicht mit übernommen werden.... aber dem scheint nicht so, obwohl der neue SQL mehr Leistung bringen sollte durch mehr RAM.

Ich habe vor, zum Produktivstart den SQL Profiler mitlaufen zulassen und die Indexe dann optimieren zu lassen.
Wenn das auch nichts hilft, dann weiß ich nicht weiter...

Grüße
Bitte warten ..
Mitglied: MadMax
24.02.2011 um 13:38 Uhr
Hallo V-FSI09,

erst dachte ich, daß Du AWE nicht eingeschaltet hast, aber der SQL Server 2008 ist ja 64Bit, da brauchst Du das nicht.

Dann aber noch eine Sache: Die Speicheraufteilung (Management Studio, Servereigenschaften, Arbeitsspeicher) solltest Du nicht SQL Server überlassen. Zum einen darf sich SQL Server nicht den ganzen Speicher krallen, zumindest das BS braucht auch ein bissl. Zum anderen sollten sich unterschiedliche SQL Server Instanzen, wenn Du denn mehrere hast, nicht ins Gehege kommen. Sonst kann es sein, daß da Daten ausgelagert und auf der Festplatte rumgeschaufelt werden.

Und wenns das nicht ist, tippe ich mal auf die Indexe

Gruß, Mad Max
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Teilergebnisberechnung 99 Prozent CPU
gelöst Frage von HanutaMicrosoft Office6 Kommentare

Hallo Zusammen, möchte im Office 365 Excel Teilergebnisse berechnenDas ganze funktioniert nicht wirklich, da meine CPU bei 99 % ...

Windows Server

2012 R2 - Robocopy kopiert nur 99 Prozent ?

Frage von HenereWindows Server2 Kommentare

Servus Gemeinde, Ich hoffe, das ist nur ein Anzeigefehler ? Im 2ten Durchlauf meldet er keine Änderungen. Danke und ...

Windows 10

Windows 10-Upgrade bleibt bei 99 Prozent stehen

gelöst Frage von achkleinWindows 103 Kommentare

Hallo, ich versuche bislang vergeblich, ein Windows 7 Home 64 Bit auf Windows 10 upzugraden. Ich habe dazu die ...

Router & Routing

99 Prozent Paketverlust beim Netalyzer Performance Test (UDP pakete)

Frage von f0rml0sRouter & Routing13 Kommentare

Hallo Admins, ich habe ein Problem mit meiner Leitung seit einiger Zeit und vielleicht könnt ihr das Problem mit ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 21 StundenWindows 104 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...