Ошибка sql primary filegroup is full

I have a very large table in my database and I am starting to get this error

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.

How do you fix this error? I don’t understand the suggestions there.

marc_s's user avatar

marc_s

729k174 gold badges1327 silver badges1455 bronze badges

asked Jun 7, 2010 at 7:01

Aximili's user avatar

If you’re using SQL Express you may be hitting the maximum database size limit (or more accurately the filegroup size limit) which is 4GB for versions up to 2005, 10GB for SQL Express 2008 onwards. That size limit excludes the log file.

answered Dec 6, 2013 at 10:57

tomRedox's user avatar

tomRedoxtomRedox

27.7k24 gold badges117 silver badges152 bronze badges

1

There isn’t really much to add — it pretty much tells you what you need to do in the error message.

Each object (Table, SP, Index etc) you create in SQL is created on a filegroup. The default filegroup is PRIMARY. It is common to create multiple filegroups that span over many disks. For instance you could have a filegroup named INDEXES to store all of your Indexes. Or if you have one very large table you could move this on to a different filegroup.

You can allocate space to a filegroup, say 2GB. If Auto Grow is not enabled once the data in the filegroup reaches 2GB SQL Server cannot create any more objects. This will also occur is the disk that the filegroup resides on runs out of space.

I’m not really sure what else to add — as I said previously, the error message pretty much tells you what is required.

answered Jun 7, 2010 at 7:08

codingbadger's user avatar

codingbadgercodingbadger

42.3k13 gold badges94 silver badges109 bronze badges

If you are using client tools (MSDE) then the data in the filegroup reaches 2GB, SQL Server cannot create any more objects.

answered Feb 12, 2013 at 6:28

Anoj V Nair's user avatar

Use DBCC shrinkfile statement to shrink 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

mattcan's user avatar

mattcan

54012 silver badges30 bronze badges

answered Jun 7, 2010 at 7:20

Harendra's user avatar

HarendraHarendra

2493 silver badges10 bronze badges

1

Обновлено 12.11.2017

SQL-Server-Management-Studio

добрый день уважаемые читатели блога pyatilistnik.org, у меня на работе по исторически сложившейся ситуации, досталась в наследство одна архаичная служба СКУД Quest 2, кто не в курсе, это очень старая программа по организации системы прохода в компании, по типу СФИНКС. Все это хорошо, но в какой-то момент у меня появилась ошибка «Could not allocate space for object because the ‘PRIMARY’ filegroup is full» не дающая мне ни записывать карточки, ни что либо удалять. Давайте посмотрим как это решается и как это поправить.

Вот как выглядит данная ошибка:

При выполнении операции произошло следующее исключение: Could not allocate space for object ‘Events’ in database ‘Quest’, because the ‘PRIMARY’ filegroup is full

Ошибка Quest 2

Через какое-то время вообще программа Quesr 2 перестала запускаться.

При выполнении операции произошло следующее исключение» Журнал событий переполнен.

Журнал событий переполнен

Начав разбираться я обнаружил, что данная утилита, древняя как мамонт, и ее база данных построена на базе MS SQL 2000, да да, ей 17 лет. Размер базы данных оказался 1,8 ГБ.

Исправление ошибки

Если перевести первую ошибку, то видно, что забилась одна из таблиц базы данных, для того, чтобы попасть в базу нам потребуется установить, бесплатный модуль управления SQL Server Management Studio. Как он устанавливается, читаем по ссылке слева. Запускаем его, далее вам необходимо открыть все имеющиеся таблицы, в моем случае это Quest, а в ней уже Events. Щелкните по ней правым кликом и выберите пункт «Открыть таблицу». В результате чего вы увидите общее количество строк в ней.

Как очистить таблицу MS SQL

Как очистить таблицу MS SQL

Давайте теперь вычистим таблицу и восстановим работу нашего СКУД Quest 2. Нам помогут две команды, полностью чистящие таблицу от всех записей.

либо

Если у вас объем таблицы в базе данных SQL большой, то выполнение запроса может занять некоторое время. Отличие truncate от delete, в том, что первый не ведет лог обработки. Надеюсь вам это помогло решить ошибку: Could not allocate space for object because the ‘PRIMARY’ filegroup is full.

Симптомы:

При выполнении какого-либо действия рабочее место оператора ЛЭРС УЧЁТ выдаёт следующую ошибку:

При обращении к базе данных произошла ошибка.

Could not allocate space for object ‘<object_name>’ in database ‘LERS’ because the ‘PRIMARY’ filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

Проверьте соединение сервера ЛЭРС УЧЁТ с SQL-сервером.

У этой ошибки могут быть две причины.

1. Закончилось место на диске компьютера с базой данных ЛЭРС УЧЁТ.

Проверьте, что на компьютере, на котором установлен SQL Server достаточно свободного места. Если место на диске исчерпано, удалите ненужные файлы, чтобы его освободить.

2. Исчерпан максимальный размер базы данных ЛЭРС УЧЁТ.

В этом случае место закончилось в базе данных ЛЭРС УЧЕТ. Максимальный размер базы данных зависит от используемой редакции SQL-сервра. В составе ЛЭРС УЧЕТ поставляется Microsoft SQL Express 2008 R2, максимальный размер базы в котором ограничен 10 ГБ. Используемая редакция SQL-сервера и количество свободного места в базе данных отображается в отчете о состоянии системы (см. главное меню «Отчеты»).

По умолчанию файл с базой данных ЛЭРС находится по пути

С:Program FilesMicrosoft SQL ServerMSSQL10_50.LERSMSSQLDATALERS.mdf

Если вы используете сервер, поставляющийся вместе с ЛЭРС УЧЁТ, проверьте размер этого файла. Если он превышает 10ГБ, значит максимальный размер БД для бесплатной редакции сервера превышен.

Вам нужно очистить место в базе данных, удалив, например, старые журналы (главное меню «Администрирование» —> «Системные параметры»). Уменьшите сроки хранения журналов в базе данных и сохраните изменения.

Так же можно удалить старые данные по точкам учёта, воспользовавшись операцией группового удаления. Перед удалением данных за какой-либо интервал их можно экспортировать и сохранить отдельно в виде XML-файла.

После этого выполните операцию сжатия базы данных (shrink). Для этого войдите на компьютер, на котором установлен SQL Server под административной учётной записью. В поле «Поиск» меню «Пуск» наберите cmd и нажмите Enter.

Выполните следующую команду.

osql -E -S (local)LERS -d LERS -Q "DBCC SHRINKDATABASE ('LERS', 1)"

Скачать скрипт для выполнения команды.

Если после этого размер файла БД всё ещё больше 10ГБ, или если требуется сохранить все данные, нужно перейти на коммерческую редакцию SQL Server. Например, Standard Edition. У него нет практических ограничений на размер базы данных.

  • Remove From My Forums
  • Question

  • Hi all .,

    I am getting thi s error in the version

    Microsoft SQL Server 2008 R2 (RTM) — 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft
    Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) 

    Msg 1105, Level 17, State 2, Procedure USP_SCHEDULER_REPORT, Line 397

    Could not allocate space for object ‘dbo.RPT_HOUR_WISE’ in database ‘sgmsdb’ because the ‘PRIMARY’ filegroup is full. Create disk space by deleting unneeded
    files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

    Please help me out how to solve this

    Regards ,

    Subathra.

    <//span>

Answers

  • Thanks for all .

    I have executed this syntax

    DBCC ShrinkDatabase(tempdb,40)

    Error is resolved .

    But in future while adding records that time also i have to shrink this db ,

    Please clarify on this

    Thanks

    • Marked as answer by

      Wednesday, September 18, 2013 9:22 AM

   J_Silver

24.09.08 — 11:09

УТ 10.3.3. Скуль. При обновлении конфигурации БД выдает ошибку

Каталог не обнаружен ‘v8srvr://server/dbase/configsave/d27921ca-6c64-46db-a20c-e30d84e2c08b.0’

по причине:

Каталог не обнаружен ‘ConfigSaved27921ca-6c64-46db-a20c-e30d84e2c08b.0’

по причине:

Ошибка СУБД:

Microsoft OLE DB Provider for SQL Server: Could not allocate space for object ‘dbo.Config’.’PK__Config__07020F21′ in database ‘Dbase’ because the ‘PRIMARY’ filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

HRESULT=80040E14, SQLSrvr: Error state=2, Severity=11, native=1105, line=3

Вроде спасает выгрузказагрузка базы. Но может кто подскажет, как еще решить проблему?

   Salvador Limones

1 — 24.09.08 — 11:10

Чего тебе непонятно здесь — ‘PRIMARY’ filegroup is full ?

   ДенисЧ

2 — 24.09.08 — 11:10

«because the ‘PRIMARY’ filegroup is full.»

На чистом буржуинском языке сказано, что нет места на диске или файл-группе некуда расширяться.

Берём dba, разбегаемся, пинаем его со всех сил, чтобы исправление этой ошибки стало его дембельским аккордом в твоей конторе.

   ktif

3 — 24.09.08 — 11:13

(2) солдатов насмотрелся?:)

   ДенисЧ

4 — 24.09.08 — 11:17

(3) Нет, админов настроился…

   J_Silver

5 — 24.09.08 — 11:53

Извиняюсь, мало опыта работы со скульными базами.

Можно описать процесс «пинания DBA» попонятнее. типа «наведите мышку и щелкните здесь…» :-)

   ДенисЧ

6 — 24.09.08 — 11:57

(5).

1. Отходим от dba на 10 метров.

2. начинаем разбег в сторону dba

3. при подбеге вытягиваем ногу и целим в musculus gluteus

4. после вскрика «шозанах» говорим ему «настрой сервер быстранах».

5. по инерции пробегаем мимо и направляемся в сторону кабинета начальника со словами «увольняйте dba, он неадекват» :-)

А если серьёзно, для начала проверяй место на диске.

   Serg_1960

7 — 24.09.08 — 12:19

(6) Ну, Денис, — спасибо за «описание» процесса взаимодействия с SQL :)) Я давно уже догадывался что между мной и SQL-сервером «что-то еще нехватает» — а это «что-то» оказывается админом называется :о)

   J_Silver

8 — 24.09.08 — 14:28

Место 146 ГБ.

Можно еще рекомендаций без приколов?

   ДенисЧ

9 — 24.09.08 — 14:33

«or setting autogrowth on for existing files in the filegroup»

Кроме того не озвучена версия ОС и тип файловой системы на диске с файлами базы данных.

   J_Silver

10 — 24.09.08 — 14:38

Windows server 2003.

Скуль 2005.

   Salvador Limones

11 — 24.09.08 — 14:41

Версия скуля какая?

Какая файловая система?

   J_Silver

12 — 24.09.08 — 14:43

Файловая система NTFS.

Скуль 2005 Express Edition (With Service Pack 2)

(9)Говорю ж в настройках SQL server не силен.

Если не сложно, где ставится этот «autogrowth»?

   Salvador Limones

13 — 24.09.08 — 14:44

(12) Express Edition — еще вопросы есть?

   ДенисЧ

14 — 24.09.08 — 14:44

(12) менеджмент студио — база данных — свойства — файлы.

   ДенисЧ

15 — 24.09.08 — 14:45

(13) Упс. Не заметил…

(12) А экспресса — ограничение на размеры бахзы данных.

   Immortal

16 — 24.09.08 — 14:47

хых

   J_Silver

17 — 24.09.08 — 14:48

Вот блин. Проверил. Как раз вырасло на 4 гб.

(14) Нашел. Увеличивать здесь смысла нет? Лучше поставить полную версию?

   ДенисЧ

18 — 24.09.08 — 14:48

(17) читай (15). У полного ограничений как раз нет.

  

J_Silver

19 — 24.09.08 — 14:51

Спасибо огромное.

Понравилась статья? Поделить с друзьями:
  • Ошибка spn 1675 fmi 5 шакман
  • Ошибка sql access denied for user
  • Ошибка sql net sqlclient data provider
  • Ошибка sql 80040e14 sqlsrvr sqlstate
  • Ошибка spn 1624 fm1 12