Простые решения для улучшения производительности многопользовательского MS Access?

Простые решения для улучшения производительности многопользовательского MS Access?

Я перестраиваю всю ИТ-инфраструктуру для небольшого офиса. У них был Dell T410, который не делал ничего, кроме как служил файловым ресурсом Win2k8, поэтому я решил, что смогу воспроизвести его функциональность на неиспользуемом десктопе с Vista, пока я отключаю сервер для восстановления.

Это все хорошо и замечательно, но они одновременно обращались к базе данных Access из общего ресурса. Это работало медленно, пока я был на T410, но как только я перенес его на временный сервер, только один пользователь мог использовать его одновременно — дополнительные пользователи тащили его до неиспользуемой остановки. Для запросов есть паузы в 30-60 секунд. Все остальное работает достаточно хорошо.

Это было то, с чем пришлось столкнуться моему предшественнику, и дамы в офисе говорят, что он сделалчто-нибудьна сервере, чтобы сократить время запроса до 5-10 секунд. Они мгновенно запускаются в однопользовательском режиме, но нет никакой документации о том, что он сделал, чтобы смягчить это для нескольких пользователей. На сервере не было RAMDISK, RAID-настройки или чего-то особенного, насколько я мог судить.

Сначала я подумал, что жесткий диск может быть медленным, поэтому я настроил RAMDISK и размещаю на нем этот конкретный файл. Однопользовательский доступ теперь молниеносно быстр, но многопользовательский доступ все еще такой же медленный. Затем я подумал, что сетевая карта может быть узким местом, но я посмотрел на монитор ресурсов, и ничто даже близко не приближается к пределу. Моей следующей мыслью было обвинить оборудование/Vista, но это Dell что-то типа того Core 2 Duo с 3 ГБ ОЗУ, и Vista Business — единственная ОС, на которую у меня есть лишняя лицензия. Должно хватить для текущей работы.

Я видел много подобных жалоб на то, что плохо спроектированные базы данных Access непригодны для использования в многопользовательских средах, за которыми следовали предложения разделить базу данных на front-end и back-end, но я не готов тратить много времени на настройку Access, учитывая, что мой следующий проект после перестройки сервера — это перепроектирование всего back-end в SQL Server. Плюс, последний парень смог наполовину исправить проблему, ничего не переделывая (насколько я знаю). Тем временем, однако, это убивает производительность.

Что могло измениться между старым сервером и новым? Есть ли какие-то простые вещи, которые я могу изменить, чтобы сократить время запроса до разумной задержки?

решение1

Разделение на fe,be несложно. Затем свяжите таблицы из be. Это основы развертывания для ms access. Если вы сталкиваетесь со сборкой msql, то разделение базы данных будет очень простым.

Связанный контент