y.graf
Goto Top

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

Content-ID: 7066

Url: https://administrator.de/forum/frage-zum-sql-server-7066.html

Ausgedruckt am: 23.12.2024 um 15:12 Uhr

fritzo
fritzo 18.02.2005 um 13:32:50 Uhr
Goto Top
Hallo,

auf welchem Laufwerk liegt Deine System-Auslagerungsdatei? Hast Du eine feste Größe angegeben oder eine variable oder wird das Swapfile vom System verwaltet?

Stell mal einen variablen Wert (von .. bis ..) und setz diesen hoch, auf ca. das 1,5fache Deines vorhandenen RAMs.

Grüße,
fritzo
fritzo
fritzo 18.02.2005 um 13:41:57 Uhr
Goto Top
Hi,

nochwas: prüf mal die Einstellungen für Dein Logfile (Transaktionsprotokoll) - ist hier eine feste Größe eingestellt? Vergrößer das Log mal, wahrscheinlich liegt es daran.

grüße,
fritzo
linkit
linkit 18.02.2005 um 14:07:52 Uhr
Goto Top
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.
y.graf
y.graf 18.02.2005 um 15:04:29 Uhr
Goto Top
@ fritzo
Das swap ist variabel und die große passt. Wo kann ich das Transaktionsprotokoll vergrößern? ...wenn das gehen würde, weil ich keinen platz auf c: habe. Entweder kapier ich grad nicht, was du meinst oder du hast mein "Problemchen" nicht verstanden! face-smile Aber danke für dien Hilfeversuch!

@ linkit
Also platz hab ich noch 5, 29 GB on ca 9 GB (54 %) ca 4 GB sind "fest" von Win und dem Rest belegt. ..aber wenn ich anfangen will zu defragemtieren sinds angeblich 0 % platz und ich seh, das da irgendwas die hdd zumüllt.
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...
Gibts um dieses Transaktionsprotokoll zu auf ne andere partition zu verschieben nen schönen Assistenten oder ist das ne kompliziertere Sache? Und kann mir dabei der SQL Server "hochgehen"? (Ich hoffe da gibts es pratische erfahrungen..weil laut MS geht ja alles soo wunderbar...linux rulz.. face-wink )
fritzo
fritzo 18.02.2005 um 23:10:33 Uhr
Goto Top
Entweder kapier ich grad nicht, was du
meinst oder du hast mein
"Problemchen" nicht verstanden!

eher ersteres. Aber toll, daß wir drüber geredet haben. face-wink

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...

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
y.graf
y.graf 21.02.2005 um 07:23:08 Uhr
Goto Top
Thx..mal kucken ob heute ,an diesem Montag Morgen, das klappt.
(Naja, bei LInux ist wenigstens öfters ersichtlich, warum der System jetzt grad Zicken macht...
selbst wenn man ein Newbee ist. face-smile. Windows ist fein, solang man es das machen läst was es will und als Game Launcher ist es auch zu gebrauchen, nicht das ihr meint ich mag windows nicht. )
fritzo
fritzo 21.02.2005 um 19:03:14 Uhr
Goto Top
Auf welchem OS hast Du den Server nochmal laufen - Windows95?

face-wink SCNR
y.graf
y.graf 22.02.2005 um 07:44:24 Uhr
Goto Top
Hey ich war damals stolz auf meinen Windows ME Server!
Aber jetzt wieder zum Problem.
Transaktionsprotokoll liegt jetzt auf D:...hat aber nix gebracht... *grummel*
fritzo
fritzo 23.02.2005 um 01:23:56 Uhr
Goto Top
Hey ich war damals stolz auf meinen Windows
ME Server!

"Windows Help ME"! face-wink

Aber jetzt wieder zum Problem.

ok ok.

Transaktionsprotokoll liegt jetzt auf
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
y.graf
y.graf 25.02.2005 um 07:58:31 Uhr
Goto Top
Danke für den Tipp...das war es aber auch nicht....möchte echt wissen was der Server hat.