Konfiguration:
- Windows Server 2008 R2
- SQL Server 2008 R2 SP1
- 240 GB RAM
- TempDB besteht aus 8 x 16 GB großen Datendateien ohne automatisches Wachstum (insgesamt 128 GB).
- Physischer / eigenständiger Server
Dieser Server wird für die ETL-Verarbeitung verwendet. Wir haben gerade mehr RAM auf diesem Server für insgesamt 240 GB RAM installiert. SQL Server-Dienste sind die einzigen realen Dinge, die ausgeführt werden.
Der Speicher wird im BIOS, OpenManage und Windows einwandfrei angezeigt.
Wenn ich SQL Server so konfiguriere, dass ein Min / Max-Speicher von 70/100 GB verwendet wird, treten keine Probleme auf. Wenn ich diesen Wert jedoch auf 120/150 GB erhöhe, wird beim Ausführen eines unserer ETL-Prozesse der folgende Fehler angezeigt:
Speicherplatz für Objekt '<temporäres Systemobjekt: 422234507706368>' in der Datenbank 'tempdb' konnte nicht zugewiesen werden, da die Dateigruppe 'PRIMARY' voll ist. Erstellen Sie Speicherplatz, indem Sie nicht benötigte Dateien löschen, Objekte in der Dateigruppe löschen, der Dateigruppe zusätzliche Dateien hinzufügen oder das automatische Wachstum für vorhandene Dateien in der Dateigruppe aktivieren. (Nachricht 1105, Status 2, Verfahren unbekannt, Zeile 1)
Dieses Problem ist uns vor dem Ändern der Speicherkonfiguration noch nie begegnet. Nach der Neukonfiguration auf die ursprünglichen 70/100 GB wird dieser Fehler nicht angezeigt.
Dinge, die ich versucht habe:
- Stellen Sie die TempDB-Datendateien so ein, dass sie automatisch wachsen. Dies führt einfach dazu, dass die Dateien automatisch wachsen, bis die Festplattenkapazität erreicht ist, und dann fehlschlagen.
- Fügen Sie weitere TempDB-Datendateien hinzu. Gleicher Fehler wie gezeigt.
- Erhöhen Sie die TempDB-Größe auf 8 x 32 GB (insgesamt 256 GB).
Ich weiß nicht, was dieses Problem verursachen könnte.