Ваша общая прикладная архитектура (Доступ с помощью связанных таблиц), вероятно, имеет недостатки для этой цели. Возможно, это можно исправить (в основном), но не без некоторой ревизии.
Ключевой вопрос заключается в том, что когда Access является внешним интерфейсом, сам Access определяет, может ли он отправить весь запрос для обработки SQLServer, и часто приходит к выводу, что он не может, поэтому он часто выполняет сам запрос, загружая весь Таблица. Это особенно верно для объединений, особенно если в каждой из используемых таблиц нет сильного первичного ключа.
Вот документ MS Technet по производительности для Access связанных таблиц с помощью SQLServer: https://technet.microsoft.com/en-us/library/bb188204%28v=sql.90%29.aspx
Наиболее значимый бит это:
Основная причина снижения производительности запросов заключается в том, что запрос, включающий очень большие таблицы, требует, чтобы все данные из одной или нескольких таблиц были загружены на клиент. Это может произойти, даже если объединения или критерии ограничивают результирующий набор небольшим количеством записей. Это происходит потому, что иногда ядро базы данных Office Access определяет, что оно не может отправить весь запрос на SQL Server.
Вместо этого он отправляет несколько запросов, часто включая запросы, которые запрашивают все строки в таблице, а затем объединяет или фильтрует данные на клиенте. Если критерии требуют локальной обработки, даже запросы, которые должны возвращать только выбранные строки из одной таблицы, могут требовать возврата всех строк в таблице.
- Использование диагностических утилит JET/ODBC для определения того, где выполняется вся работа.
- Использование Snapshot RecordSets в доступе, где это возможно.
- Выдвиньте логику запроса на SQLServer с помощью представлений и хранимых процедур / функций.
- Установите твердые ключи и индексы в SQLServer и убедитесь, что индексы дефрагментированы по мере необходимости.
- Кэширование часто используемых данных в Access.
Ссылка выше имеет много полезных советов и технических деталей для тех, кто на вашей должности. Удачи!