Announcement

Collapse
No announcement yet.

Auslagerungsdateien von SQL Server 2005?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Auslagerungsdateien von SQL Server 2005?

    Hallo zusammen,

    ich habe einen View gebastelt, der so allerhand Berechnungen durchführt. Wenn ich nun diesen View im Management Studio öffnen, dann rattert er so nach und nach alle Datensätze der zugrundeliegenden Tabelle durch (ca. 2,4 Mio Datensätze) und dabei schreibt der Prozess "SqlWB.exe" lauter Daten auf meine C-Partition. Irgendwann bricht der View ab, weil der Platz auf C aufgebraucht ist.

    Die Auslagerungsdatei für den virtuellen Speicher habe ich schon extra auf eine andere größere Platte gelegt, aber das beeindruckt den SQL Server recht wenig. Ich habe mir (während der View aufgebaut wird) die Dateien von C nach Größe ausgeben lassen, aber er findet keine Datei, die über 1GB groß ist.

    Was macht dieser "SqlWB.exe"-Prozess denn auf meiner C-Partition?
    Wieso finde ich keine > 1GB Datei auf dieser Partition, wenn der Plattenplatz während der Berechnung von 1,8 GB auf 0 Bytes runterrauscht?
    Gibt es versteckte Tempfiles beim SQL Server 2005?

    Ich hoffe irgendjemand weiß einen Rat.

    Viele Grüße
    Timo

  • #2
    Es gibt eine tempdb beim SQL-Server, aber die ist nicht "versteckt"
    Hole dir doch mal den Prozessmonitor ( http://technet.microsoft.com/en-us/s.../bb896645.aspx ) und schaue, wer wo schreibt.

    Und wenn wirklich viel geschrieben wird, dann könnte (soferne der Platz ausreicht) eine Ramdisk stark beschleunigend wirken, es darf aber nicht irgendeine sein, da der SQL-Server spezielle Zugriffe verwendet und das dann nicht funktioniert. Habe das vor kurzem probiert (ohne Erfolg, da bei mir eigentlich der Prozessor zu langsam war) und festgestellt, dass keine einzige der Freeware-Ramdisks für den SQL-Server verwendbar ist, die günstigste funktionierende Variante, die ich gefunden habe, wäre Ramdisk von der Firma Superspeed gewesen. Habe dann aber nicht mehr viel weiter gesucht, nachdem ist wusste, das nicht die Festplatte mein Problem ist.

    bye,
    Helmut

    Comment


    • #3
      Hey Helmut,

      das Tool ist super! Konnte jetzt den Übeltäter identifizieren:
      Der SQL Server 2005 legt eine temporäre Datei auf der C-Partition an unter
      "C:\Documents and Settings\USERNAME\Local Settings\Temp\1\"

      Jetzt müsste ich noch rausfinden, wie man SQL Server zwingen kann, einen anderen Temp-Pfad auf einem anderen Laufwerk zu verwenden. Dann wäre alles klar

      Hast du eine Vermutung wie es gehen könnte?

      Gruß Timo

      Comment


      • #4
        Hallo,

        Der SQL Server 2005 legt eine temporäre Datei auf der C-Partition an unter...
        dieses Aussage ist so nicht korrekt ;-)

        Der MS SQL Server 2005 legt temporäre Zwischenergebnisse der SQL-Anweisungen entweder im RAM oder in der tempdb-Systemdatenbank ab.

        ...dabei schreibt der Prozess "SqlWB.exe" lauter Daten auf meine C-Partition.
        Hinter SqlWB.exe verbirgt sich das Startprogramm des SQL Server Management Studio (SSMS). Wenn im SSMS die komplette Ergebnismenge von ca. 2,4 Millionen Datensätzen ausgegeben werden soll, muss das Tool diese vom SQL Server gelieferter Datenflut irgendwo hinschreiben ;-)

        ...einen anderen Temp-Pfad auf einem anderen Laufwerk zu verwenden.
        SqlWB.exe holt sich über die einschlägigen Win32-API-Funktionen den Pfad für temporäre Dateien von Windows. Wenn ein anderer Pfad verwendet werden soll, muss für Windows (also global) ein anderes temporäres Verzeichnis festgelegt werden.
        Zuletzt editiert von Andreas Kosch; 07.03.2008, 08:37.

        Comment

        Working...
        X