Frage zum SQL-Server
Greetz,
Auf nem Win 2k Server sp4 habe ich nen MSsql Server laufen. Installiert ist der Server an sich auf C:/, die Datenbank liegt auf der zweiten Partiton der Festplatte d:/
An sich läuft der Server..
Das Problem ist, das wenn ich versuche zu defragmentieren mit die defragmetntierung sagt: kein Platz zum defragmentieren und ab und zu kriege ich die fehlermeldung das kein Platz für die Auslagerungsdatei ist.
Aber laut anzeige im Exploerer usw. ist die Partition c: noch lang nicht voll. Scandisk hab ich schon ausgeführt..alles in ordung.
Jetzt zu meiner Frage: Lagert der SQL Server irgendwas auf die Partion c: aus? Wenn ja, wie kann ich das "unterbinden" und/oder auf D: auslagern?
Mfg
Yvonne
Auf nem Win 2k Server sp4 habe ich nen MSsql Server laufen. Installiert ist der Server an sich auf C:/, die Datenbank liegt auf der zweiten Partiton der Festplatte d:/
An sich läuft der Server..
Das Problem ist, das wenn ich versuche zu defragmentieren mit die defragmetntierung sagt: kein Platz zum defragmentieren und ab und zu kriege ich die fehlermeldung das kein Platz für die Auslagerungsdatei ist.
Aber laut anzeige im Exploerer usw. ist die Partition c: noch lang nicht voll. Scandisk hab ich schon ausgeführt..alles in ordung.
Jetzt zu meiner Frage: Lagert der SQL Server irgendwas auf die Partion c: aus? Wenn ja, wie kann ich das "unterbinden" und/oder auf D: auslagern?
Mfg
Yvonne
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7066
Url: https://administrator.de/contentid/7066
Ausgedruckt am: 23.11.2024 um 04:11 Uhr
10 Kommentare
Neuester Kommentar
Interessant wäre auch zu erfahren, wieviel Platz den auf der Festplatte noch ist.
Bei mir hat er letztes Mal an der Workstation gemerkt, obwohl noch 480 MB frei waren, dies war aber dem Defragprogramm zu wenig.
Außerdem bringt eine Defragmentierung nichts bezüglich der Geschwindigkeit von SQL. Hier hilft vielmehr, daß die Datenbank und das Transaktionsprotokoll auf einer eigenen Festplatte liegt. Die Datenbank an sich kann auch "defragmentiert" werden. Dies geht manuell oder mit dem Wartungsdienst im SQLmanager.
Bei mir hat er letztes Mal an der Workstation gemerkt, obwohl noch 480 MB frei waren, dies war aber dem Defragprogramm zu wenig.
Außerdem bringt eine Defragmentierung nichts bezüglich der Geschwindigkeit von SQL. Hier hilft vielmehr, daß die Datenbank und das Transaktionsprotokoll auf einer eigenen Festplatte liegt. Die Datenbank an sich kann auch "defragmentiert" werden. Dies geht manuell oder mit dem Wartungsdienst im SQLmanager.
Entweder kapier ich grad nicht, was du
meinst oder du hast mein
"Problemchen" nicht verstanden!
meinst oder du hast mein
"Problemchen" nicht verstanden!
eher ersteres. Aber toll, daß wir drüber geredet haben.
Das das Defragmentieren beim sql Server nix
bring weiß ich ..aber das gehört
für mich zum wöchentlichen
"Saubermachen" wies Virenscannen
und so...
bring weiß ich ..aber das gehört
für mich zum wöchentlichen
"Saubermachen" wies Virenscannen
und so...
Das ist lobenswert, aber das funktioniert leider bei großen Stores nicht so einfach ("wie bei Linux" - da übrigens auch nicht, nur so nebenbei). Dein Problem ist wahrscheinlich das Transaktionsprotokoll (Logfile), welches mit festen, nicht translokierbaren Blöcken arbeitet. Die Defragmentierung funktioniert nicht, weil dieser Bereich in einem statt clusterweise verschoben werden müßte - Defrag bricht entweder ab, weil es keinen Plattenspeicher reservieren kann oder weil es diesen festen Bereich nicht intern handlen kann.
Das Logfile kannst Du in der SQL-Adminkonsole verschieben - optimalerweise auf eine eigene Platte oder zumindest auf eine eigene Partition. Der SQL-Server sollte dabei nicht hochgehen, aber wer weiß - ist ja großes böses Windows *grins
Grüße,
fritzo
Hey ich war damals stolz auf meinen Windows
ME Server!
ME Server!
"Windows Help ME"!
Aber jetzt wieder zum Problem.
ok ok.
Transaktionsprotokoll liegt jetzt auf
D:...hat aber nix gebracht... *grummel*
D:...hat aber nix gebracht... *grummel*
Hm... *grübel*
Es könnte sein, daß Defrag bestimmte Daten auf c:\, auf die ein Lock gesetzt ist, nicht verschieben kann und deswegen meckert. Die Fehlermeldung wäre in diesem Fall nicht ganz korrekt, aber da Du eigentlich mehr als ausreichend Platz hast, kann es nur was in dieser Art sein. Hast Du die Möglichkeit, das Defrag offline zu starten oder muß das System 24/7 on sein? Ansonsten könnte man auch mal versuchen, die SQL-Dienste zu stoppen und dann zu defragmentieren. Oder starte defrag mal in der dosbox mit dem Parameter "/v" (verbose), vielleicht gibt er dann ein paar mehr Infos aus. Dann könnte man noch "/f" hinterherschicken, das ermöglicht das Defragmentieren auch bei niedrigem Speicher.
Dann habe ich noch das hier gefunden:
<blockquote style="padding:10px; border:thin solid blue;">
Can I do an NT defrag on a SQL Server .DAT device/file?
Yes you can as long as you stop SQL first - NT needs exclusive access to a file in order to defragment it. As long as there are no bugs in the defrag program and the system doesn't crash in the middle of a defrag then there shouldn't be any problems.
</blockquote>
<blockquote style="padding:10px; border:thin solid blue;">
In order to defrag physical SQL Server files (database and log), the mssqlserver and the sqlserveragent (and any other related) services must be turned off. This is because files that are being used (such as the database and log files) cannot be defragged. While this is a pain, you should plan on defragging your SQL Server files whenever you have scheduled down time. [6.5, 7.0, 2000] Updated 4-11-2002
</blockquote>
Das bezieht sich zwar nur auf Logfile und Database, aber evtl. sind auch noch Files auf c: gelockt (Indizes oder ähnlich)? Versuch wie gesagt mal den Dienst zu beenden und dann zu defragmentieren.
Ansonsten vielleicht mal 3rd party tools wie O&O Defrag ausprobieren? O&O hat den Vorteil, daß der Defrag nur eine sehr niedrige Systemlast erzeugt.
Grüße,
fritzo