2013-01-23 3 views
0

У меня база данных sql-сервера размером 1677,25 МБ. Вот моя детальная информация Размер DB:Как оптимизировать базу данных сервера Sql с огромным файлом журнала

DB Размер: 1677,25 MB
Unallocated площадь: 343,09 MB

Зарезервировано: 24488 KB данных: 18560 KB Размер индекс: 2632 KB Неиспользованные: 3296 KB Row Count : 74410

Итак, как вы можете видеть, это не такая большая БД. Проблема в том, журналы. Размер

Лог-файл является: 1,311 GB

Как очистить старые журналы? Возможно, последние 3 месяца важны, но 1,3 ГБ действительно важны.

+0

Почему ваш файл журнала настолько велик? У вас есть база данных в полном режиме восстановления, но забыто запланировать регулярную резервную копию журнала? –

ответ

4

Сначала вам нужно понять, почему ваш файл журнала является большим. Вы можете использовать этот запрос для этого:

SELECT name,log_reuse_wait_desc FROM sys.databases; 

Более подробную информацию о предназначении файла журнала и о том, как интерпретировать результаты этого запроса вы можете найти здесь:

http://sqlity.net/en/556/t-sql-tuesday-25-%E2%80%93-sql-server-tips-tricks/

Наиболее вероятно причина в том, что база данных находится в режиме «ПОЛНЫЙ». Это означает, что SQL Server сохраняет все записи журнала до тех пор, пока вы не создадите резервную копию журнала. Выполнение полной резервной копии не меняет этого.

После того как вы сделали резервную копию журнала, SQL Server может повторно использовать пробел в файле журнала. В этот момент вы также можете уменьшить файл журнала до более подходящего размера. Если вам не нужен момент времени восстановления, вы можете переключить базы данных на простое восстановление. Таким образом, SQL Server сохраняет записи журнала только до тех пор, пока они нуждаются в них для обработки транзакций.

Однако, как объясняется выше, могут возникнуть другие причины, вызывающие вашу проблему, например, забытая настройка репликации. Если вам нужна дополнительная помощь, опубликуйте результат вышеуказанного запроса.

Смежные вопросы