Я разработчик программного обеспечения, устраняющий застрявшую проблему на производственном сервере клиента, и у меня небольшая проблема.
У них есть виртуальный сервер под управлением Windows Server 2008, SQL Server 2008 R1 и IIS7. Он был снабжен двумя разделами: один с ОС (~ 15 ГБ), а другой - с веб-сайтами IIS (другой ~ 15 ГБ).
Мое приложение, на котором запущен этот сервер, работало отлично, примерно час назад, когда оно начало генерировать исключение System.IO.IOException: «Недостаточно места на диске».
Как только мой клиент уведомил меня, я освободил место на C: \, очистил корзину и перезапустил SQL Server и IIS. Веб-сервер вернулся, и приложение было запущено, но оно больше не сохраняет информацию в базе. Сообщение об ошибке не появляется, приложение может получать информацию из БД, но больше не может сохранять данные обратно в нее. Я перезагрузил сервер, но безрезультатно.
Я поговорил с системным администратором хостинговой компании, и он сказал, что SQL Server, похоже, работает нормально, и база данных не находится в режиме только для чтения. Я подтвердил это, поскольку могу добавлять записи в таблицы из SQL Server Management Studio.
Я просмотрел журнал событий сразу же после попытки сохранить отредактированную запись в приложении, и я не могу сказать, что в нем нет новых событий.
Я предполагаю, что это связано с нехваткой места, поскольку до этого все работало нормально, но я немного не понимаю, что именно нужно пнуть, чтобы снова начать работу.
Может кто-нибудь мне помочь? Что, черт возьми, здесь происходит?
РЕДАКТИРОВАТЬ: у меня есть полный доступ к серверу.
РЕДАКТИРОВАТЬ: сами файлы базы данных и журналов выглядят нормально, поскольку я перетащил их на свою рабочую станцию, чтобы выполнить некоторую обработку, которую необходимо было выполнить до конца дня. На моей машине данные были записаны в базу данных без проблем.
Я не могу объяснить решение, но вот два действия, которые я сделал сегодня утром:
Вчера вечером я взял копию базы данных и перенес ее на свой локальный компьютер, чтобы запустить против нее несколько процессов, которые необходимы ежедневно. Сегодня утром я перенес его обратно на сервер и заменил базу данных сервера этой новой копией, чтобы убедиться, что в ней есть все самые свежие данные, прежде чем я продолжу поиск и устранение неисправностей;
Сегодня утром я также обновил копию своего приложения резервной версией из моих архивов.
Затем я начал проводить больше тестов, и они снова сохраняются в базе данных.
Спасибо всем за предложения!
Посмотрите размеры файлов данных и журнала для вашей базы данных (или попросите администратора сделать это) и как они распределены. Вы можете установить максимальный размер файла данных и журнала или настроить их на автоматический рост по мере необходимости на фиксированную величину или в процентах от их текущего размера. Мне кажется, что один или другой или оба не настроены для автоматического роста и что вы максимально увеличили размеры файлов.
РЕДАКТИРОВАТЬ:
Попробуйте перезапустить пул приложений, в котором работает ваше приложение. Или вообще перезапустите IIS.