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
729k174 gold badges1327 silver badges1455 bronze badges
asked Jun 7, 2010 at 7:01
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
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
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
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
54012 silver badges30 bronze badges
answered Jun 7, 2010 at 7:20
HarendraHarendra
2493 silver badges10 bronze badges
1
|
|
|||
oprosnik
17.09.10 — 12:58 |
Ошибка СУБД:
Посоветуйте, пожалуйста, что изменить в настройках tempdb, mssgl |
||
Найч
1 — 17.09.10 — 13:00 |
Fox Pro штоли? ) |
||
also
2 — 17.09.10 — 13:01 |
поменяй жесткий диск |
||
also
3 — 17.09.10 — 13:02 |
а вообще самый правильный совет: |
||
Жан Пердежон
4 — 17.09.10 — 15:15 |
не поверишь, но |
||
oprosnik
5 — 18.09.10 — 09:04 |
(3)(4) пасибо конешно за советы |
||
Koala
6 — 18.09.10 — 09:38 |
В базе tempdb MS SQL хранит результаты временных вычислений, при начале запуска скуля она пустая и затем этими данными и заполняется. Так что на скорую руку можно просто перезапустить службу MS SQL. А вообще tempdb можно и на др. диск перенести. На сайте Микрософта где-то была официальная рекомендация, как это делать. |
||
val
7 — 18.09.10 — 20:37 |
(0) Сделать несколько файловых групп tempdb на разных дисках. |
||
oprosnik
8 — 20.09.10 — 10:14 |
(6) Вот я тоже думал что она должна сама вычищаться при перезапуске, но этого не происходит. Потому и задал вопрос — может что-то у меня не так настроено ? |
||
DrZombi
9 — 20.09.10 — 10:17 |
(8)Колись, чего руками наделал? |
||
Шляпентох 10 — 20.09.10 — 10:24 |
(8) initial size в свойствах tempdb поменяйте |
Вчера после всех оперций
21 час назад, Sodik сказал:
Уменьши я количество хранимых событий в свойствах сервера администрирования и выставил галочку (хранить события после удаления устройств «1 сутки»), но сервер все равно тормозит жестоко над каждой простой операции…
После всех манипуляций оставил сервер как есть и ушел домой, но перед уходом диспетчере задач в процессах увидел, что SQL грузит процессор на 50%.
Подумал, что возможно SQL сейчас усердно переиндексирует и переопределяет БД. Утром обнаружил, что свободного места на жестком диске стало меньше, БД KSC стала больше. Сам сервер вернулся к быстродействию и я могу уже изменять данные о клиентах, добавлять и удалять их из групп. Но когда я перезагрузил сервер, чтобы проверить все тормоза вернулись обратно. SQLServer опять грузит процессор на 50%.
20 часов назад, tyazhelnikov сказал:
Попробуйте выполнить задачу обслуживания, так как видно что событий в базе больше, чем установлен лимит.
А где это можно сделать — новую задачу?? Пересмотрел все как по инструкции и ничего не нашел, где можно создать новую задачу по обслуживания БД KSC?
З.Ы. Все думаю, у нас парк машин небольшой 50шт. мах и как могла база забиться за год? Вроде при установки KSC говорит, что если парк машин больше 150шт., то надо выбирать SQL расширенный.
Edited May 26, 2022 by Sodik
Развернут веб портал на Sherepoint 2010. База данных SQL Server 2008 Express.
Начал получать ошибку в журнале логов:
Ошибка операции CREATE DATABASE или ALTER DATABASE, так как размер
результирующей совокупной базы данных превысил бы разрешенный предел в
4096 МБ на база данных.Не удалось выделить место для объекта «dbo.EventLog».’EventLog_Id’ в
базе данных «DBNAME», поскольку файловая группа «PRIMARY»
переполнена. Выделите место на диске, удалив ненужные файлы или
объекты в файловой группе, добавив дополнительные файлы в файловую
группу или указав параметр автоматического увеличения размера для
существующих файлов в файловой группе.
Я бы удалил лишний контент но при удалении такие же ошибки. Понимаю что это связано с ограничением версии Express в 4Гб.
Мой вопрос: могу ли я просто обновить Sql c SQL Server 2008 express
на SQL Server 2008 R2 express
? Это решит проблему? Если возможно подскажите как, возможно есть подробная инструкция.
Спасибо.
задан 18 мая 2017 в 3:28
|
|||
oprosnik
17.09.10 — 12:58 |
Ошибка СУБД:
Посоветуйте, пожалуйста, что изменить в настройках tempdb, mssgl |
||
Найч
1 — 17.09.10 — 13:00 |
Fox Pro штоли? ) |
||
also
2 — 17.09.10 — 13:01 |
поменяй жесткий диск |
||
also
3 — 17.09.10 — 13:02 |
а вообще самый правильный совет: |
||
Жан Пердежон
4 — 17.09.10 — 15:15 |
не поверишь, но |
||
oprosnik
5 — 18.09.10 — 09:04 |
(3)(4) пасибо конешно за советы |
||
Koala
6 — 18.09.10 — 09:38 |
В базе tempdb MS SQL хранит результаты временных вычислений, при начале запуска скуля она пустая и затем этими данными и заполняется. Так что на скорую руку можно просто перезапустить службу MS SQL. А вообще tempdb можно и на др. диск перенести. На сайте Микрософта где-то была официальная рекомендация, как это делать. |
||
val
7 — 18.09.10 — 20:37 |
(0) Сделать несколько файловых групп tempdb на разных дисках. |
||
oprosnik
8 — 20.09.10 — 10:14 |
(6) Вот я тоже думал что она должна сама вычищаться при перезапуске, но этого не происходит. Потому и задал вопрос — может что-то у меня не так настроено ? |
||
DrZombi
9 — 20.09.10 — 10:17 |
(8)Колись, чего руками наделал? |
||
Шляпентох 10 — 20.09.10 — 10:24 |
(8) initial size в свойствах tempdb поменяйте |
Вчера после всех оперций
21 час назад, Sodik сказал:
Уменьши я количество хранимых событий в свойствах сервера администрирования и выставил галочку (хранить события после удаления устройств «1 сутки»), но сервер все равно тормозит жестоко над каждой простой операции…
После всех манипуляций оставил сервер как есть и ушел домой, но перед уходом диспетчере задач в процессах увидел, что SQL грузит процессор на 50%.
Подумал, что возможно SQL сейчас усердно переиндексирует и переопределяет БД. Утром обнаружил, что свободного места на жестком диске стало меньше, БД KSC стала больше. Сам сервер вернулся к быстродействию и я могу уже изменять данные о клиентах, добавлять и удалять их из групп. Но когда я перезагрузил сервер, чтобы проверить все тормоза вернулись обратно. SQLServer опять грузит процессор на 50%.
20 часов назад, tyazhelnikov сказал:
Попробуйте выполнить задачу обслуживания, так как видно что событий в базе больше, чем установлен лимит.
А где это можно сделать — новую задачу?? Пересмотрел все как по инструкции и ничего не нашел, где можно создать новую задачу по обслуживания БД KSC?
З.Ы. Все думаю, у нас парк машин небольшой 50шт. мах и как могла база забиться за год? Вроде при установки KSC говорит, что если парк машин больше 150шт., то надо выбирать SQL расширенный.
Edited May 26, 2022 by Sodik
Развернут веб портал на Sherepoint 2010. База данных SQL Server 2008 Express.
Начал получать ошибку в журнале логов:
Ошибка операции CREATE DATABASE или ALTER DATABASE, так как размер
результирующей совокупной базы данных превысил бы разрешенный предел в
4096 МБ на база данных.Не удалось выделить место для объекта «dbo.EventLog».’EventLog_Id’ в
базе данных «DBNAME», поскольку файловая группа «PRIMARY»
переполнена. Выделите место на диске, удалив ненужные файлы или
объекты в файловой группе, добавив дополнительные файлы в файловую
группу или указав параметр автоматического увеличения размера для
существующих файлов в файловой группе.
Я бы удалил лишний контент но при удалении такие же ошибки. Понимаю что это связано с ограничением версии Express в 4Гб.
Мой вопрос: могу ли я просто обновить Sql c SQL Server 2008 express
на SQL Server 2008 R2 express
? Это решит проблему? Если возможно подскажите как, возможно есть подробная инструкция.
Спасибо.
задан 18 мая 2017 в 3:28
2
Можете просто обновить, но рекомендую пользоваться инструкциями от майкрософта, в частности, проведите тестовое обновление перед основным, проверьте, что все функции вашего портала после обновления будут работать как нужно, что нет деградации производительности, и только после этого планируйте обновление основного сервера.
Подробные инструкции от Майкрософта по переходу на новую версию можно найти здесь:
https://msdn.microsoft.com/en-us/library/ms144267(v=sql.105).aspx
ответ дан 18 мая 2017 в 7:03
minamotominamoto
4,01113 серебряных знаков19 бронзовых знаков
При выполнении тестирования и исправления базы возникает ошибка: Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось выделить место для объекта HRESULT=80040E14 —
Описание ошибки:
Клиент-серверный вариант работы базы конфигурации 1С: Комплексная автоматизация 1.1.58.3 на платформе 1С: Предприятие 8.2. Ошибка при тестировании и исправлении базы возникает в момент обновления конфигурации: В процессе обновления информационной базы произошла критическая ошибка.
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Не удалось выделить место для объекта «dbo._Reference279NG».’PK___Referen__AC8ED0C4B64C2C77′ в базе данных «KA2015», поскольку файловая группа «PRIMARY» переполнена. Выделите место на диске, удалив ненужные файлы или объекты в файловой группе, добавив дополнительные файлы в файловую группу или указав параметр автоматического увеличения размера для существующих файлов в файловой группе.
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=2, Severity=11, native=1105, line=1
Найденные решения:
Если немного углубиться в анатомию событий, прелшестовавших тестированию. То у клиента внезапно возникла проблема нумерации в документах нескольких видов («Заказ покуателя», «Заказ поставщику», нетиповой добавленный «Наряд-заказ»). Проблема была в том, что при нумерации программа не отражала в номере префикс организации, выбранной в документе. А просто ставила один и тот же префикс (недавно созданной организации) всем документам, и с таким префиксом продолжала по нему сплошную нумерацию. Хотя проблема возникла не сразу, как новую организацию добавили в справочник «Организации».
Было выполнено обновление нумерации с помощью штатной обработки «Настройка стратегии редактирования номеров»
Но выполненная операция не привела к изменениям в решении проблемы. Было принято решение выполнить «Тестирование и исправление» базы данных.
Оно было запущено, в результате первый запуск тестирования окончился неудачей на этапе обновления конфигурации базы данных, сопровожденной информацией об ошибке:
В процессе обновления информационной базы произошла критическая ошибка.
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Не удалось выделить место для объекта «dbo._Reference279NG».’PK___Referen__AC8ED0C4B64C2C77′ в базе данных «KA2015», поскольку файловая группа «PRIMARY» переполнена. Выделите место на диске, удалив ненужные файлы или объекты в файловой группе, добавив дополнительные файлы в файловую группу или указав параметр автоматического увеличения размера для существующих файлов в файловой группе.
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=2, Severity=11, native=1105, line=1
Обращение к системному администратору с просьбой почистить кэш СУБД не принес ощутимых результвтов. Беглый поиск решения проблемы на форуме сайта infostart. В обсуждении обсуждался вопрос настроек базы на стороне СУБД, связанных с размером системной таблицы tempdb. Потому возник диалог с системным администратором по поводу данной настройки, включено ли у нее «Авторасширение», и какое значение увеличения указано — проценты или мегабайты.
Частный случай преодоления ошибки был найден чуть позже на примере похожей ошибки. Описание решения ошибки приведено в описании решения ошибки «В процессе обновления информационной базы произошла критическая ошибка. Ошибка СУБД: Microsoft SQL Server Native Client 11.0: нехватка места на диске в файловой группе «PRIMARY».»
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
23-12-2016
Журавлев А.С.
(Сайт www.azhur-c.ru)