Я размещаю сайт и иногда получаю сообщение об ошибке: The log file for database '%.*ls' is full.
и мне нужно связаться с моим хостинг-провайдером для очистки файла журнала базы данных.
Как я могу отключить ведение журнала или настроить его, чтобы файл журнала не заполнялся?
(Я использую движок Сервера совместной работы, поэтому оптимизацию sql выполнять нельзя.)
Файл журнала зависит от модели восстановления базы данных. По умолчанию установлено значение «Полный», что означает, что вы будете делать резервные копии базы данных и журнала транзакций. При резервном копировании журнала транзакций он будет усечен. Если вы никогда не сделаете резервную копию журнала транзакций, он будет постоянно расти. Если вы хотите сделать резервную копию только полной базы данных, измените модель восстановления на простую.
Как только это будет изменено, вы захотите сжать файлы журнала (щелкните правой кнопкой мыши базу данных в sql management studio, Задачи> Сжать> Файлы). Вы можете настроить их автоматическое сжатие, но как только вы исправите основную проблему модели восстановления, возможно, вам это не понадобится.
Это относится к журналу транзакций, а не к журналу ошибок, и его нельзя отключить на SQL Server. Каждая транзакция записывается в журнал транзакций перед записью изменения в саму базу данных для защиты целостности базы данных. Если в базе данных используется модель полного восстановления (которая звучит так, как ваша), записи журнала транзакций будут перезаписаны только после резервного копирования журнала транзакций (а не полного резервного копирования); если вы измените модель восстановления на простую, записи журнала будут храниться в течение более короткого периода времени, и резервное копирование журнала транзакций не потребуется. Однако в зависимости от вашего хостинг-провайдера это может быть вне вашего контроля; вам нужно будет проверить, какой контроль они дают вам над настройками базы данных, и запросить изменение, если у вас нет прямого контроля.