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