Производительность SQL Server Express снижается при использовании больших файлов журналов - PullRequest
1 голос
/ 04 июня 2009

мы уже 2 года запускаем небольшое приложение на SQL Server 2005 Express Edition. База данных за это время приобрела от 75 МБ до почти 400 МБ, данных не так много.

Но теперь файл журнала достиг 3,7 ГБ без изменения оборудования, структуры таблиц или программного кода. Мы отметили, что процессы импорта, которые занимали 10-15 минут, теперь достигли пары часов.

есть идеи, где может быть проблема? Зависит это от лог файла может быть? Блокировка Express Edition 4 ГБ распространяется только на файлы данных или также на файлы журналов?

Дополнительная информация: на сервере БД нет RAID-массива, не работают параллельные пользователи (во время импорта вошел только один пользователь).

Заранее спасибо Johannes

Ответы [ 2 ]

3 голосов
/ 04 июня 2009

То, что файл журнала настолько велик, является совершенно нормальным поведением; за два года вы бежали; sql отслеживает события, происходящие в базе данных, по мере ее развития.

Обычно вы можете очистить эти журналы при создании резервной копии (так как они, скорее всего, вам все равно не нужны). Если вы выполняете резервное копирование всего, вам нужно изменить сценарий sql для проверки контрольного файла журнала (он есть в книгах онлайн) в зависимости то, как вы создаете резервные копии, может варьироваться.

Для немедленной очистки, убедитесь, что никто не использует базу данных; открой управление студией экспресс найди базу и запусти

backup log database_name with truncate_only
go
dbcc shrinkdatabase('database_name')
1 голос
/ 04 июня 2009

С MSDN :

"Ограничение размера базы данных в 4 ГБ применяется только к файлам данных, а не к файлам журналов."

SQL Server Express также ограничен в том, что он может использовать только 1 процессор и 1 ГБ памяти. Вы пытались отслеживать использование процессора / памяти во время импорта, чтобы определить, не вызывает ли это узкое место?

...