'PRIMARY' filegroup is full

  • Good day everybody!

    Here is the problem.

    I have a few corrupted tables (consistency, not allocation)

    So first thing, first! I'm trying to rebuild all indexes (including clustered) to see what's up.

    But, here I'm getting error mess

    'Server: Msg 1105, Level 17, State 2, Line 1

    Could not allocate space for object '(SYSTEM table id: -300561351)' in database 'whatever'

    because the 'PRIMARY' filegroup is full.

    The statement has been terminated.'

    Database size is 7Gs. Space allocated is 9Gs for data file and 10Gs for log (orig was 2Gs, I have added secondary 8Gs file).

    Table size (one I'm trying to rebuild indexes on is 1.3Gs)

    Temp db size is 5Gs(orig was 1.5Gs, added 3.5G. and 1.2Gs).

    Autom file grow -selected

    File grow-256mb

    Unrestricted filegrowth

    I have a feeling that I'm missing something simple 🙂

    Please heeeeeeeeeelp!

  • Did you alrady run dbcc checkdb before rebuild the indexes?

  • Below are some of the places to look for though you might have done these already:

    1. Check to see on what filegroup is the TABLE and see if that filegroup has sufficient free space left.

    2. Point to note-- Reindexing a clustered index requires one and half times the space taken by the table.

    3. try to shift the table to the secondary filegroup by shifting the clustered index onto that group(8GB one).

    4. Check if AUTOGROW if on for both the filegroups .

    Good luck :))

  • Yes Allen_Cui, i did.

    It did not fix a problem.

    vambati, the db has only one filegroup,

    but contain 2 files in it (prim and sec)

    for data and for log.

    The autogrow is on.

    After I added secondary files (dif logical drive)it's should be enough space to rebuild 4 tables this size.

    ?????

  • Ok, here is a new stuff.

    I have reboted the system, ran few dbcc cmds,

    so, alocation problem has been rectified.

    But I still have some indexes coruption.

    When I'm rebuilding index it gives me :

    Could not allocate space for object '(SYSTEM table id: -777711711)' in database 'ecnarchive' because the 'PRIMARY' filegroup is full.

    Every time I do it, the system table id # is

    drfferent. Why????

    What is it, doctors, will it survive?

  • Is'nt your log size a bit big / bloated.

    What recovery model?

    When last did you do a full backup?

    Assumes SQL 2000?

  • I expanded it trying to solve the problem.

    Yep, sql 2000 sp3.

    Recovery model: Full

    Full backup 2 times a day, Trans log backup every 45 min.

  • Which reindexing method drop index / dbcc indexdefrag / dbcc dbreindex do you use. See article in SQL Server Magazine of April 2003, page 42 about defragmentation methods and log impact.

    Lastly after getting the error check the disk space through Windows Explorer for all the physical drives.

    Have you tried a backup with truncate_only to clear the logs after rebooting.

  • hi ...

    1) run dbbcc checkdb

    1.1) run dbcc checktable statements

    2)Get rid of the second transaction log , the second one only comes into play when the first one is full .

    3)Split your database into 2 filegroups , make the second filegroup the fedault filegroup , cause if you do not specify which file group to use during creation of obljects ,default is automaticcally choosen .

Viewing 9 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic. Login to reply