В статье "Соединение ADP-проектов Access с SQL Server Express" (http://www.osp.ru/win2000/2007/04/4305823/) речь шла о превращении Access во внешний интерфейс для SQL Server с использованием проектов Access и о создании новых проектов. Теперь предположим, что в компании уже есть многопользовательская база данных Access, и требуется перейти к SQL Server Express, чтобы увеличить число одновременно обслуживаемых пользователей и повысить производительность. В этой статье будет показано, как перейти от многопользовательской базы данных Access к проекту Access с внутренним компонентом SQL Server Express.

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

Один подход -- применить мастер Upsizing Wizard из состава Access, который преобразует таблицы Access в таблицы SQL Server,  к внутренней базе данных. Затем можно вручную обновить все связанные таблицы внешнего компонента, ориентировав их на новые таблицы базы данных SQL Server. Однако такой метод не приведет к проекту базы данных Access, и нам не удастся использовать Access для управления базой данных SQL Server или извлечь преимущества из собственных объектов базы данных SQL Server, таких как хранимые процедуры.

Гораздо более удачный подход -- применить мастер Upsizing Wizard к внешней базе данных. Мастер может преобразовать связанные таблицы в таблицы SQL Server и извлечь данные из внутренней базы данных. Использование мастера Upsizing Wizard уже рассматривалось ранее, но преобразование в проект базы данных Access несколько отличается от преобразования в связанные таблицы.

Во-первых, нужно открыть внешнюю базу данных с использованием Access 2007 и запустить мастер из вкладки Database Tools панели Ribbon. Выберите SQL Server из раздела Move Data, затем выберите Create new database и щелкните на кнопке Next. В следующем диалоговом окне введите имя экземпляра SQLEXPRESS (по умолчанию SQLEXPRESS), данные для проверки подлинности и имя базы данных, которая будет создана в SQL Server Express. Щелкните на кнопке Next. Выберите таблицу для миграции (щелчок на двойной стрелке выделяет все таблицы) и нажмите Next. Примите все значения по умолчанию, в том числе расширение индексов, правила проверок, параметры по умолчанию и связи таблиц, и щелкните на кнопке Next. Чтобы создать проект базы данных Access, установите флажок Create a new Access client/server application и присвойте имя файлу проекта. По умолчанию мастер Upsizing Wizard добавляет CS в конце имени базы данных Access и использует это имя с расширением файла .adp. Последовательно щелкните на кнопках Next и Finish.

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

Поделитесь материалом с коллегами и друзьями