Не удалось выделить новую страницу для базы данных 1с
Не удалось выделить пространство для объекта 'myDB' в базе данных 'I 3 Stroke', потому что файловая группа PRIMARY заполнена. Создайте дисковое пространство, удалив ненужные файлы, отбросьте объекты в файловой группе, добавив дополнительные файлы в файловую группу или установив автозапуск для существующих файлов в файловой группе.
В базе данных есть еще одна таблица с 25 миллионами строк. Эта база данных будет использоваться только на одной машине, и она будет разработана для хранения данных, которые уже существуют, и ни при каких обстоятельствах никогда не будет превышать ее текущий размер.
3 ответа
Выполните следующие действия:
- Определите, сколько места вы хотите добавить к распределению хранилища базы данных:
- Откройте проводник Windows.
- Щелкните правой кнопкой мыши на диске, чтобы ваши файлы базы данных существовали на
- Выбрать свойства
- Проверьте, сколько свободного места на диске доступно и решите, сколько из этого вы хотите выделить для базы данных
( Предложение: Оставьте по меньшей мере 20% свободного места на диске, если вы размещаете файлы базы данных на том же диске, что и ваша ОС. Под-предложение : не выполнять это! Перестройте /перенесите свои данные на собственный диск, вы ввергаете себя на ввод-вывод.> и оставите по крайней мере 8% для чистого диска данных, эти числа - это оценки того, что, по моему мнению, имеет фактические процентные предложения. )
- Открыть SSMS
- Перейдите на вкладку «Просмотр»
- Выберите «Обозреватель объектов»
- Разверните папку «Базы данных»
- Щелкните правой кнопкой мыши базу данных, в которой вы пытаетесь вставить объем в
- Выберите «Свойства»
- Выберите опцию «Файлы» в разделе «Выбрать страницу» в левой части окна свойств.
- Найдите строку «Файлы базы данных» с «Filegroup» как «PRIMARY»
- Добавьте любое количество мегабайт, которое вы хотите добавить к распределению базы данных, к номеру «Initial Size (MB)»
- Нажмите «ОК»
( Вы также можете рассмотреть свои значения «Автографы», пока вы здесь. )
Вы хотите предоставить своей базе данных столько ресурсов для хранения, сколько можете себе позволить. Если у вас закончится свободное пространство, вы получите эту ошибку без автоматического роста, и если будет автоматически расти, вы будете получать удар производительности каждый раз, когда он должен автоматически расти. Если вы просто из дискового пространства, то это ваш ответ, и вам нужен больший диск.
Устранение, если дизайн позволяет: использовать несколько баз данных по этой лицензии.
Базы данных часто исчерпывают пространство, когда они находятся в режиме полного восстановления. Если вы не выполняете транзакции и ручное резервное копирование достаточно, вы можете изменить режим восстановления на простой.
Вам также может потребоваться восстановить пространство из файла журнала. , , он может быть опустошен, но все равно использовать пространство.
Однако вам лучше задавать этот вопрос администраторам баз данных, которые могут предлагать больше решений.
Похожие вопросы
Популярные теги
Ошибка при выполнении операции с базой 1С 8: Не удалось выделить новую страницу для базы данных "TEMPDB" из-за нехватки места на диске в файловой группе "DEFAULT".
Описание ошибки:
Ошибка СУБД
Microsoft SQL Server Native Client 11: Не удалось выделить новую страницу для базы данных "TEMPDB" из-за нехватки места на диске в файловой группе "DEFAULT". Создать необходимое пространство, удалив объекты в файловой группе, добавив дополнительные файлы в файловую группу или указав параметр автоматического увеличения размера для существующих файлов в файловой группе.
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=A, Severity=11, native=1101, line=1Ошибка возникла в процессе выполнения обработки по сбору данных по ценам и остаткам в базе для выгрузки на сайт. Как понятно по тексту ошибки - база клиент-серверная. СУБД - MS SQL.
Нажатие на изображении увеличит его
Нажатие на изображении увеличит его
Поэтому необходимо вспомнить при возникновении "ошибки СУБД, Microsoft SQL Server Native Client 11: Не удалось выделить новую страницу для базы данных "TEMPDB" из-за нехватки места на диске в файловой группе "DEFAULT", не было ли перед этим выполнено некорректных доработок в плане сбора данных или обработки массивного объема данных.
Нажатие на изображении увеличит его
Получается, что лучше все-таки сократить базу данных "tempdb". Если этого не сделать, то при последующей попытке вызова кода, даже если были внесены правильные корректировки можно получить ошибку:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Журнал транзакций для базы данных "tempdb" заполнен. Чтобы обнаружить причину, по которой место в журнале не может быть повторно использовано, обратитесь к столбцу log_reuse_wait_desc таблицы sys.databases
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=4, Severity=11, native=9002, line=1Нажатие на изображении увеличит его
Если открыть таблицу "tempdb" в SQL Server Management Studio, то можно наблюдать временные таблицы, которые занимают все оставшееся свободное пространство на системном жестком диске. Место на диске заканчивается, объем таблицы не очищается и дальнейшая работа может быть невозможна.
Нажатие на изображении увеличит его
Если обратиться к рекомендациям, описанным выше, то для очистки журнала был выбран вариант перезапуска служб, связанных с MS SQL. Был выполнен последовательный перезапуск (остановка и запуск) служб SQL Server (MSSQLSERVER) и Агент SQL Server (MSSQLSERVER).
Нажатие на изображении увеличит его
В результате данных операций свободное пространство на системном жестком диске высвободилось. Временные таблицы удалились сами естественным образом. Дальнейшая работа доработанного функционала была восстановлена.
P.S.: Так же эта ошибка стала причиной еще другой попутной ошибки. Т.е. тесно связанной. Когда база была закрыта с помощью соответствующей кнопки в окне ошибки, то после этого запустить базу ни в режиме конфигуратора, ни в режиме Предприятия не получалось, запуск 1С 8 сопровождался ошибкой "Ошибка при работе с файлом". Как была устранена ошибка читайте в следующей статье.
Используя мастер импорта и экспорта SQL Server, я получаю эту ошибку:
Ошибка 0xc0202009: Поток данных Задача 1: Код ошибки служб SSIS DTS_E_OLEDBERROR.
Произошла ошибка OLE DB. Код ошибки: 0x80004005.
Не удалось выделить новую страницу для базы данных 'database' из-за недостатка места на диске в файловой группе 'PRIMARY'. Создайте необходимое пространство, удалив объекты в файловой группе, добавив дополнительные файлы в файловую группу или установив автоматический рост для существующих файлов в файловой группе.Какой лучший обходной путь? Эти данные в конечном итоге займет около 60-80 ГБ.
Какую версию SQL Server вы используете? Сколько свободного места доступно на диске (дисках), где хранятся файлы данных для «базы данных»?
Брэндон, SQL SERVER 2012. 760 ГБ свободного места на диске, где хранятся файлы данных для базы данных. Кен, у меня включено автоматическое увеличение, автоматическое увеличение увеличивается на 2500 МБ, а максимальный размер неограничен. Должен ли я все еще сталкиваться с этой проблемой? Возможно ли, что есть несколько автостров, которые необходимо включить?
Может ли быть так, что autogrow работает только между элементами, а ОДНА вставка превышает лимит? Я бы поспорил - если 20000-гигабайтная вставка не срабатывает на 2500-гигабайтном автограве . может быть, есть 900 МБ свободной, и вставка не удалась.
Однажды я столкнулся с этой проблемой у клиента, и мне потребовалось время, чтобы разобраться.
какую версию sql вы используете?
Вы уверены, что это
Не удалось выделить новую страницу для базы данных 'database' из-за недостатка места на диске в файловой группе 'PRIMARY'.
Не удалось выделить новую страницу для базы данных «tempdb» из-за недостатка места на диске в файловой группе «PRIMARY».
Если он [tempdb] находится на отдельном диске, и вы уверены, что у вас достаточно места, я бы пошел дальше и размер файла данных соответствовал ожидаемому размеру конечного состояния:
Также убедитесь, что файл журнала базы данных отделен от файла данных. Если нет, то вы вернулись с конкурирующими событиями роста. Если они находятся на отдельных дисках, то я бы тоже прошел их по размеру.
пока вы не получите желаемый размер файла журнала. Давайте назовем это 80GB, где вы установите свой рост до определенного размера. Я использую значения, рекомендованные Полом Рэндалом и Кимберли Трипп
В глобальный модуль (процедура ПриНачалеРаботыСистемы()) необходимо добавить код:
Если это не поможет - смотрите другие варианты решения проблемы здесь.
Ошибки при загрузке данных 1С в базе SQL
SQL State: 42000
Message: [Microsoft][ODBC SQL Server Driver][SQL Server] Incorrect syntax near 'HOLDLOCK'. If this is intended as a part of a table hint, A WITH keyword and parenthesis are now required.
Недопустимое состояние транзакции.
Необходимо установить compatibility level 80 (режим совместимости) в свойствах базы данных.
Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия
Порядок сортировки отличается от системного при загрузке базы 1С в формате SQL на WIndows 7
Необходимо допатчить bkend.dll 0018A79D: 75 EB для отключения проверки порядка сортировки либо опять же использовать секретный релиз платформы v77.27.1
Примечание к описанию секретного релиза, добавляем public чтобы не было ошибки: GRANT VIEW SERVER STATE TO public
Попробуйте заменить оригинальную BkEnd.dll на пропатченную Bkend.dll
SQL сервер не существует или доступ запрещен
Вот такая ошибка может появиться на клиентском компьютере при запуске 1С.
Расскажу что нужно проверить и настроить
Если Вы используете SQL Express, то он именуется как ИмяСервера\SQLEXRESS, не забывайте об этом.
Что нужно сделать на сервере:
Зайти в SQL Server Configuration Manager.
В конфигурации сервера и в клиентских протоколах оставить включенным только протокол TCP/IP.
Убедиться в том, что включена не только служба SQL Server, но и SQL Server Browser (Обозреватель SQL Server).
Если не помогает - отключить или проверить Брандмауэр.
В протоколах убрать динамический порт и выставить TCP-порт 1433.
После этого остановить службы и запустить заново.
На клиенте:
Открыть Пуск - Настройка - Панель управления - Администрирование - Источники данных (ODBC) - Системный DSN.
Там добавить SQL Server, ввести имя (например, Client), указать сервер (SERVER\SQLEXPRESS или именованный SQL Server), нажать Далее, в настройке SQL клиента снять флажок "динамически определить порт" и указать порт 1433.
Можно сразу же и проверить доступность сервера:
Все, пробуем запускать 1С еще раз.
Если это не помогло - попробуйте вместо имени сервера (допустим, Server01, если экземпляр не именованный) ввести в параметрах соединения 1С IP, например 192.168.0.2.
Если после этого начались какие-то другие ошибки, значит Вы сделали все правильно :)
Не удалось выделить новую страницу для базы данных
Вот такая ошибка может появиться при выполнении обмена, либо в процессе работы:
Физически увеличить размер файла базы данных также не получится, так как Вы используете, вероятно, SQL Express.
Объем базы данных для версии Express (для 2005 и 2008 SQL Server) не может превышать 4 Гб. 64-разрядная версия 2008 R2 SQL Server позволяет работать с базой до 10 Гб.
Таким образом, необходимо либо обрезать базу, либо использовать другую версию SQL Server. Developer Edition вполне можно приручить для работы нескольких пользователей на Winows XP или другой 32-разрядной системе.
Не удалось выделить новую страницу для базы данных "TEMPDB" из-за недостатка места на диске в файловой группе "DEFAULT". Создайте необходимое пространство, удалив объекты в файловой группе, добавив дополнительные файлы в файловую группу или установив автоматический рост для существующих файлов в файловой группе.
Я сталкиваюсь с этой ошибкой при выполнении хранимой процедуры, в которой есть операторы выбора, содержащие почти 250 миллионов записей.
Хотя у меня есть около 650 ГБ места в базе данных tempdb, я сталкиваюсь с этой ошибкой. Хотелось бы узнать, что я могу сделать дальше в этом
TempDB это не проблема.
Запрос имеет несколько объединений с не SARGable выражениями. Все объединения должны быть обработаны до того, как могут быть отфильтрованы данные предложения where. Если ваш конечный результат (отфильтрованный и сгруппированный) составляет 250 миллионов строк, я ожидаю, что результаты после объединений будут в больших миллиардах. Этот результат должен быть материализован в базе данных tempdb до того, как произойдет фильтрация и группировка.
Попробуйте изменить этот ISNULL(cp.FName,'') = '' на этот (cp.FName = '' OR cp.FName IS NULL) и все подобные выражения. Это может, по крайней мере, позволить некоторой фильтрации произойти до объединения.
Второй шаг - удалить объединения, которые не используются в наборе результатов. Вы только возвращаете данные из таблиц U, UE & DP. Переместить другие внутренние объединения в существующие предложения
Это уменьшит первоначальный продукт объединения до чего-то более управляемого.
Ваши левые объединения будут более сложными для разрешения, но они также не должны быть объединениями, если они не являются частью набора результатов. Я прочитал ваш запрос, чтобы сказать, что вы хотите отфильтровать результаты, если данные отсутствуют. Например, имя FName должно возвращаться только в том случае, если имя FName представляет собой пустую строку, нулевое значение или отсутствует соответствующая запись. Другой способ сказать, что вы не хотите видеть записи с FName, LName, IsActive, заполненные ненулевым/непустым значением.
Это утверждение исключит их, если все 3 будут заполнены. Если вы хотите исключить их, только если какое-либо из полей имеет значение, измените AND на OR внутри предложения EXISTS.
Попробуйте эти изменения, и я ожидаю, что вы вообще избежите раздутой TempDB.
Читайте также: