Ich habe eine große Tabelle (~ 50 Millionen Zeilen), die ich versuche, als Masseneintrag in SQL Server einzufügen, und erhalte die Fehlermeldung:
Speicherplatz für Objekt 'myDB' in Datenbank 'I 3 Stroke' konnte nicht zugeordnet werden, da die Dateigruppe 'PRIMARY' voll ist. Erstellen Sie Speicherplatz, indem Sie nicht benötigte Dateien löschen, Objekte in der Dateigruppe ablegen, der Dateigruppe zusätzliche Dateien hinzufügen oder das automatische Wachstum für vorhandene Dateien in der Dateigruppe aktivieren.
In der Datenbank befindet sich eine weitere Tabelle mit rund 25 Millionen Zeilen. Diese Datenbank wird nur auf einem einzelnen Computer verwendet. Sie dient zum Abrufen bereits vorhandener Daten und wird unter keinen Umständen die aktuelle Größe überschreiten.
Was ist in einer solchen Situation die beste Möglichkeit, dies zu beheben, damit sich SQL Server nicht beschwert? Ist es für die Lösung von Bedeutung, dass diese Datenbank nicht mehreren Benutzern zur Verfügung gestellt wird?
quelle
Antworten:
Folge diesen Schritten:
( Vorschlag: Lassen Sie mindestens 20% Speicherplatz frei , wenn Sie die Datenbankdateien auf demselben Datenträger wie Ihr Betriebssystem beherbergen { Sub-Vorschlag : Don Erstellen Sie Ihre Daten neu oder migrieren Sie sie auf eine eigene Festplatte. Sie schrauben sich selbst an die E / A.} Lassen Sie mindestens 8% für eine reine Datenfestplatte übrig. Diese Zahlen sind Schätzungen der tatsächlichen prozentualen Vorschläge sind. )
( Sie können auch Ihre "Autogrowth" -Werte berücksichtigen, während Sie hier sind. )
Sie möchten Ihrer Datenbank so viel Speicherplatz zuweisen, wie Sie sich leisten können. Wenn der Speicherplatz knapp wird, wird dieser Fehler angezeigt, ohne dass die automatische Vergrößerung aktiviert ist. Wenn die automatische Vergrößerung aktiviert ist, wird die Leistung jedes Mal erhöht, wenn die automatische Vergrößerung erforderlich ist. Wenn Sie einfach keinen Speicherplatz mehr haben, ist dies Ihre Antwort und Sie benötigen eine größere Festplatte.
quelle
Express Edition 2014 hat ein Limit von 10 GB pro Datenbank. Wenn die automatische Vergrößerung einer Datenbank diesen Punkt erreicht, gibt SQL Server die (obskure?) Fehlermeldung aus, wobei das Lizenzlimit nicht erwähnt wird. Möglicherweise ist viel Speicherplatz vorhanden, diese Meldung wird jedoch weiterhin angezeigt.
Abhilfe, wenn das Design dies zulässt: Verwenden Sie mehrere Datenbanken unter dieser Lizenz.
quelle
In Datenbanken ist häufig nicht genügend Speicherplatz verfügbar, wenn sie sich im vollständigen Wiederherstellungsmodus befinden. Wenn Sie keine Transaktionen ausführen und manuelle Sicherungen ausreichen, können Sie den Wiederherstellungsmodus auf einfach ändern.
Möglicherweise müssen Sie auch Speicherplatz aus der Protokolldatei wiederherstellen. . . es kann geleert werden, aber trotzdem Platz verbrauchen.
Sie sollten diese Frage jedoch besser an Datenbankadministratoren richten, die möglicherweise mehr Lösungen anbieten.
quelle
Nach meiner Erfahrung tritt diese Meldung auf, wenn in der Primärdatei (.mdf) kein Platz zum Speichern der Metadaten der Datenbank vorhanden ist. Diese Datei enthält die Systemtabellen und speichert nur ihre Daten darin.
Machen Sie etwas Platz in der Datei und die Befehle funktionieren wieder. Das ist alles, viel Spaß
quelle