2013-02-20 4 views
0

Я хочу переместить мою текущую БД из MDB на сервер MSSQL. Когда я это сделал через ODBC, запросы стали особенно медленными. У меня есть красный, что он вызвал ODBC, который не поддерживает группу и JOIN, присоединяется и поэтому должен выполнять несколько запросов и обрабатывать данные на текущей машине.Ускорить MSAccess 2003 и MSSQL

Как я могу переключиться на что-то более быстрое (для MSAccess 2003)?

+0

Являются ли запросы медленными при запуске в MS Access? Вы уверены, что Access - это проблема, прежде чем принять этот большой и, возможно, дорогой шаг? Насколько велика ваша база данных? – Fionnuala

ответ

2

На самом деле, в большинстве случаев доступ делает приличную работу. Если ваш запрос имеет несколько объединений, но ESPECIALLY имеет некоторую совокупную группу, а затем просто создайте представление, а затем подключитесь к этому представлению. Вероятно, он будет работать так же быстро, как сквозной запрос, но без хлопот и усилий со стороны доступа.

В большинстве случаев вы должны иметь возможность получать отличную производительность при использовании Access в качестве интерфейса для SQL-сервера.

Таким образом, для вызова процедур хранения или для некоторых отчетов вы можете использовать сквозной запрос.

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

Если вы это сделаете, вы найдете первую скорость.

+0

MS Access известен тем, что вызывает ужасные проблемы с производительностью при использовании в качестве интерфейса для SQL Server.Существуют обходные пути, такие как сквозные запросы, но большинство пользователей Access недостаточно сложны для их использования. – Tarzan

0

Вы пытались использовать такой подход: http://www.packtpub.com/article/transferring-data-ms-access-2003-to-sql-server-2008?

Чтобы сделать повторение на последнем шаге, отметьте «сохранить пакет SSIS» и спланируйте его соответствующим образом.

Это подход Microsoft для Microsoft, поэтому, если нет известных проблем с ним, я бы использовал его как оптимальный подход.

0

При использовании MS Access вы можете использовать Проект данных доступа. Это дает вам интерфейс MS Access с бэкэнд SQL Server. Основными преимуществами проекта данных доступа являются: (a) вы получаете стабильность, масштабируемость и безопасность реальной базы данных SQL, в то время как (б) все еще используете хорошо известный интерфейс доступа к MS Access и программирование.

Смотрите этот StackOverflow вопрос для углубленного обсуждения: Pros and Cons of Access Data Project (MS Access front end with SQL Server Backend)

+1

Adps на самом деле не поддерживаются для более поздних версий SQL Server. Корпорация Майкрософт рекомендует связать таблицы. – Fionnuala

+0

ADP работают с SQL Server 2008 и ранее. Если вам нужно использовать более позднюю версию SQL Server, вы все равно можете использовать ADP, но в этом случае создание серверных объектов (таблиц, представлений, хранимых процедур, функций и отношений) выполняется с помощью SQL Server Management Studio. – Tarzan

+1

Последняя версия Access даже не поддерживает ADP. И SQL-сервер объявил о завершении срока службы oleDB, для которого требуются проекты ADO и ADP Access. Таким образом, используя проект ADP Access, и на самом деле выбор ADO - это очень плохой выбор на данный момент времени. Вам гораздо лучше использовать связанные таблицы и придерживаться опции Open Database connective. –

1

только один базовый и глупый вопрос: вы определили все необходимые индексы в своей базе данных SQL?

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