
Я выполняю SQL-запрос в своей базе данных. У меня установлен SQL Server 2008 на жестком диске D, на котором свободно 55 ГБ.
У меня также есть диск C, на котором свободно около 150 МБ (прямо сейчас).
При выполнении этого запроса для довольно большой таблицы (16 ГБ) возникает ошибка:
Произошла ошибка при выполнении пакета. Сообщение об ошибке: Недостаточно места на диске.
Я хотел бы узнать, есть ли возможность заставить SQL Server использовать диск D вместо C.
Или, может быть, есть какая-то другая проблема в том, что я делаю?
Спасибо за помощь
решение1
Вероятно, это проблема с журналированием. Вы можете переместить файл журнала на другой диск и использовать журналирование более низкого уровня.
решение2
Скорее всего, это будет TEMPDB, одна из системных баз данных SQL Server. Она будет создана в расположении базы данных по умолчанию установщиком.
Эта статьярассказывает о перемещении базы данных tempdb.
Аналогичным образом вы можете добавить дополнительные (расширяемые) файлы на диске D: в основную файловую группу базы данных tempdb, а затем установить для файлов по умолчанию фиксированный размер (и в конечном итоге очистить, а затем удалить их).
решение3
Выполняете ли вы запрос с помощью клиентского приложения на сервере SQL, например SSMS? Если да, то, вероятно, это происходит, используя диск C для хранения вывода для отображения, особенно если вы запускаете вывод в сетку. Попробуйте выполнить запрос с помощью командной строки SQLCMD.