Рассмотрим сценарий SQL, предназначенный для копирования строк из одной таблицы в другую в базе данных SQL 2000. Перенос включает 750 000 строк в простом виде:
INSERT INTO TableB([ColA],[ColB]....[ColG])
SELECT [ColA],[ColB]....[ColG]
FROM TableA
Это длительный запрос, возможно, отчасти потому, что ColB
относится к типу ntext
. В операторе SELECT
есть несколько CONVERT()
операций.
Сложность заключается в том, что через ~ 15 минут работы это исключение вызывается SQL Server.
Не удалось выделить место для объекта «[ТАБЛИЦА]». «[PRIMARY_KEY]» в базе данных «[DB]», поскольку файловая группа «PRIMARY» заполнена. Создайте дисковое пространство, удалив ненужные файлы, отбросив объекты в файловой группе, добавив дополнительные файлы в файловую группу или включив автоматический рост для существующих файлов в файловой группе.
Дополнительная информация
- Авторастание уже идет.
- на диске более чем достаточно свободного места (~ 20гб)
- одиночный .mdf составляет ~ 6 ГБ
- нет триггеров в исходной или целевой таблицах
Вопрос
Какие параметры необходимо установить через Management Studio или через T-SQL, чтобы база данных могла расти по мере необходимости? Какие еще средства вы бы порекомендовали?
Разрешение
База данных не могла расти по мере необходимости, потому что я размещал эту базу данных на экземпляре SQL Server 2008 Express. Обновление до не стерилизованной версии SQL Server решит эту проблему.