10 Stimmen

SQL Server-Fehler: Primäre Dateigruppe ist voll

Ich habe eine sehr große Tabelle in meiner Datenbank, und ich erhalte diesen Fehler

Konnte nicht zuweisen eine Datenbank 'mydatabase' wegen unzureichenden Speicherplatzes in der Dateigruppe 'PRIMARY'. Schaffen Sie den erforderlichen Platz durch Löschen von Objekten in der Dateigruppe, Hinzufügen zusätzlicher Dateien zur Dateigruppe hinzufügen oder das automatische Wachstum auf für bestehende Dateien in der Dateigruppe einschalten.

Wie kann man diesen Fehler beheben? Ich verstehe die Vorschläge dort nicht.

8voto

tomRedox Punkte 23872

Wenn Sie SQL Express verwenden, stoßen Sie möglicherweise an das Limit für die maximale Datenbankgröße (oder genauer gesagt an das Limit für die Dateigruppengröße), das bei Versionen bis 2005 bei 4 GB und bei SQL Express 2008 und höher bei 10 GB liegt. Diese Größenbeschränkung schließt die Protokolldatei aus.

6voto

codingbadger Punkte 40670

Es gibt eigentlich nicht viel hinzuzufügen - die Fehlermeldung sagt Ihnen ziemlich genau, was Sie tun müssen.

Jedes Objekt (Tabelle, SP, Index usw.), das Sie in SQL erstellen, wird in einer Dateigruppe erstellt. Die Standard-Dateigruppe ist PRIMARY. Es ist üblich, mehrere Dateigruppen zu erstellen, die sich über mehrere Festplatten erstrecken. Sie könnten zum Beispiel eine Dateigruppe mit dem Namen INDEXES haben, um alle Ihre Indizes zu speichern. Oder wenn Sie eine sehr große Tabelle haben, können Sie diese in eine andere Dateigruppe verschieben.

Sie können einer Dateigruppe Speicherplatz zuweisen, beispielsweise 2 GB. Wenn Auto Grow nicht aktiviert ist, kann SQL Server keine weiteren Objekte erstellen, sobald die Daten in der Dateigruppe 2 GB erreichen. Dies geschieht auch, wenn auf der Festplatte, auf der sich die Dateigruppe befindet, kein Speicherplatz mehr vorhanden ist.

Ich bin mir nicht sicher, was ich noch hinzufügen soll - wie ich bereits sagte, sagt die Fehlermeldung ziemlich genau, was erforderlich ist.

2voto

Anoj V Nair Punkte 21

Wenn Sie Client-Tools (MSDE) verwenden und die Daten in der Dateigruppe 2 GB erreichen, kann SQL Server keine weiteren Objekte erstellen.

1voto

Harendra Punkte 239

Verwenden Sie die DBCC shrinkfile-Anweisung, um die Datei zu verkleinern...

USE databasename ;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE databasename 
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (databasename_Log, 1);
GO
-- Reset the database recovery model.
ALTER DATABASE databasename 
SET RECOVERY FULL;
GO

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X