2010-06-07 27 views
8

Ho un grande tavolo nel mio database e sto iniziando a ottenere questo errore: gruppo di file primario è pieno

Could not allocate a new page for database 'mydatabase' because of insufficient disk space in filegroup 'PRIMARY'. Create the necessary space by dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

Come si fa a risolvere questo errore? Non capisco i suggerimenti lì.

risposta

4

Non c'è molto da aggiungere: praticamente ti dice cosa devi fare nel messaggio di errore.

Ogni oggetto (tabella, SP, indice ecc.) Creato in SQL viene creato su un filegroup. Il filegroup predefinito è PRIMARY. È comune creare più filegroup che si estendono su molti dischi. Ad esempio potresti avere un filegroup chiamato INDEXES per memorizzare tutti i tuoi indici. O se hai una tabella molto grande, puoi spostarla in un filegroup diverso.

È possibile allocare spazio a un filegroup, ad esempio 2 GB. Se Auto Grow non è abilitato quando i dati nel filegroup raggiungono 2 GB, SQL Server non può creare altri oggetti. Ciò si verificherà anche il disco su cui si trova il filegroup esaurisce lo spazio.

Non sono proprio sicuro di cos'altro aggiungere, come ho detto in precedenza, il messaggio di errore mostra quasi tutto ciò che è necessario.

1

economico Utilizzo DBCC SHRINKFILE per compattare il file ...

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 
+0

Grazie Harendra. Questo è quello che volevo sapere ma non ha funzionato. Dobbiamo ordinare MB extra. Grazie comunque! – Aximili

1

Se si utilizzano gli strumenti client (MSDE) quindi i dati del filegroup raggiunge 2GB, SQL Server non può creare altri oggetti.

5

Se si utilizza SQL Express, è possibile che si stia raggiungendo il limite massimo di dimensioni del database (o più precisamente il limite di dimensione del filegroup) che è 4 GB per versioni fino al 2005, 10 GB per SQL Express 2008 in poi. Quel limite di dimensione esclude il file di registro.

+1

Limite della dimensione del gruppo di file, per essere precisi. – Ivka

+0

Buon punto @ Ivka, ho aggiornato la mia risposta di conseguenza. – tomRedox

Problemi correlati