Перенос сетевого приложения на платформу SQL Server
Прежде чем использовать Мастера преобразования в формат SQL Server, необходимо выполнить некоторые подготовительные действия, а после завершения процесса переноса нужно просмотреть автоматически создаваемый отчет о результатах переноса и выполнить ряд действий, позволяющих подготовить полученное клиент-серверное приложение к дальнейшему использованию. Таким образом, процесс переноса разделяется на три этапа: подготовительный этап, выполнение переноса и подготовка приложения к эксплуатации.
Прежде чем приступить к переносу реального приложения, мы советуем провести подобный эксперимент, используя приложение "Борей" или любую другую демонстрационную базу данных.
Подготовительный этап
Чтобы подготовить приложение к переносу на платформу SQL Server, рассмотрим процесс переноса базы данных Access 2002 в Microsoft SQL Server на примере приложения "Борей", входящего в комплект демонстрационных приложений Microsoft Access 2002.
- Создайте резервную копию базы данных. Хотя Мастер преобразования в формат SQL Server не удаляет из исходного файла переносимые объекты, лучше создать резервную копию базы данных.
- Если нужно связать переносимое приложение с имеющейся на SQL Server базой данных, предварительно создайте ссылку на этот источник данных с помощью элемента Администратор ODBC (ODBC Data Sources) на панели управления (Control Panel) Windows. Если планируется создать новую базу данных, необходимо иметь ссылку на Основную базу данных (Master database) соответствующего сервера.
- Проверьте, чтобы на сервере было логическое устройство (device) достаточного размера. Лучше иметь избыток свободного дискового пространства. Если после переноса базы данных на SQL Server 6.5 планируется ее расширить или добавить большой объем данных, зарезервируйте в два или более раз больше дискового пространства, чем текущий размер базы данных. SQL Server 7.0 или выше автоматически увеличивает исходный размер базы данных при его нехватке.
- Присоединенные к базе данных таблицы должны иметь уникальные индексы, если требуется перенести их на SQL Server. Мастер преобразования в формат SQL Server переносит имеющиеся индексы на сервер, но не может создать новые. Поэтому если вы хотите, чтобы перенесенные таблицы можно было обновлять, удостоверьтесь, что все переносимые таблицы снабжены уникальными индексами.
- Если перенос осуществляется на SQL Server 6.5, при необходимости создайте новые логические устройства. Мастер преобразования в формат SQL Server создает новые логические устройства на том же физическом диске, где находится основное логическое устройство. Если на сервере установлено несколько жестких дисков, можно поместить базу данных и журнал транзакций на разные диски. Тогда, если с одним диском что-нибудь случится, базу данных можно будет восстановить с другого. На обоих дисках необходимо иметь (или создать) логические устройства достаточного размера.
Структура хранения данных Microsoft SQL Server 7.0 и выше является более гибкой: вместо логических устройств используются файлы, поэтому при переносе базы данных на SQL Server не нужно заботиться о создании логических устройств.
- Хотя SQL Server 6.5 позволяет использовать для хранения базы данных и журнала транзакций несколько логических устройств, Мастер преобразования в формат SQL Server потребует указать одно устройство для базы данных и одно устройство для журнала транзакций. Чтобы указать несколько логических устройств для базы данных или журнала транзакций, сделайте эти логические устройства (и только их) используемыми по умолчанию. После этого в процессе работы с мастером выберите для базы данных или журнала транзакций устройство по умолчанию. Если суммарный размер логических устройств, используемых по умолчанию, превышает размер базы данных или журнала транзакций, SQL Server будет использовать только необходимые для хранения логические устройства.
- Установите принтер, используемый по умолчанию. Это необходимо сделать, поскольку Мастер преобразования в формат SQL Server автоматически создает отчет о результатах своей работы в виде снимка отчета.
- Проверьте наличие соответствующих прав доступа к базе данных Access. Необходимо обладать правами на чтение и изменение структуры (Read и Design) всех объектов базы данных, чтобы провести процесс переноса базы данных на клиент-серверную архитектуру.
- Проверьте наличие необходимых прав доступа к базе данных SQL Server. Разные способы переноса приложения в SQL Server требуют наличия прав различного уровня:
- чтобы провести интеграцию приложения Access с существующей базой данных на SQL Server, необходимо обладать правами на создание таблиц (Create table) и создание по умолчанию (Create default);
- чтобы создать новую базу данных в SQL Server, необходимо обладать правами на создание базы данных (Create database) и операцию выбора (Select) в системных таблицах Основной базы данных (Master database);
- чтобы создать новые логические устройства, необходимо обладать правами системного администратора SQL Server.
- Проверьте имена полей и таблиц в переносимой базе данных. При переносе на платформу SQL Server 6.5 будут использованы ограничения на имена, все неправильные символы в именах в результате переноса в SQL Server будут заменены символом подчеркивания (_).Эти правила заключаются в следующем: имена могут содержать до 30 символов, первым символом должна быть буква или знак (@) (коммерческое at), для остальных символов допускается использовать букву, цифру, знак доллара ($), знак номера (#) и знак подчеркивания (_). Пробелы использовать запрещено.
Хотя SQL Server 7.0 и выше поддерживает имена, допустимые в Access, рекомендуется придерживаться правил именования объектов, принятых в версии SQL Server 6.5.
Предположим, с помощью программы Enterprise Manager на SQL Server создана новая база данных Sample, которая будет использоваться для переноса приложения "Борей". Создайте ссылку на этот источник данных в SQL Server с помощью Администратора ODBC на панели управления Windows.