Иллюстрированный самоучитель по Access 2002

Выполнение переноса


При переносе базы данных в SQL Server, кроме таблиц, переносятся индексы и связи между таблицами. При этом индексы отображаются в соответствующие объекты SQL Server. Индексы, использующиеся в Access и SQL Server, очень похожи, отличие состоит только в том, что SQL Server не поддерживает индексы по убыванию. Первичные ключи из Access отображаются в некластеризованные уникальные индексы в SQL Server. В SQL Server

6.x

и выше они, кроме того, маркируются и как первичные ключи.

Если перенос выполняется в SQL

6.x

или выше, то при переносе связей вы можете выбрать один из методов задания связей в SQL Server:

декларативная ссылочная целостность

(DRI —Declarative Referential Integrity) или

триггер

(см. рис. 19.10). DRI — это свойство SQL Server, которое позволяет задавать связи между таблицами в описаниях таблиц в виде внешних ключей (foreign keys). Однако DRI не поддерживает каскадных обновлений и удалений. Поэтому, чтобы сохранить те описания каскадных операций, которые были в базе данных Access, следует использовать триггеры

(примеры триггеров и индексов приведены в гл. 17).

При переносе таблиц переносятся все поля, которые были в таблицах Access, и такие их свойства, как правила проверки введенных значений (validation rules) и значения по умолчанию (default values).



Замечание

Особенным образом осуществляется перенос полей таблиц Access типа

Гиперссылка

(Hyperlink). SQL Server не поддерживает, полей такого типа. При переносе на SQL Server поля типа

Гиперссылка

(Hyperlink) преобразуются в текстовые поля, содержащие все свойства гиперссылки в одной строке: ее название, всплывающую подсказку, адрес и закладку ресурса. Но при открытии таблиц, хранящихся на SQL Server, в клиентском приложении Access гиперссылки полностью работают, ведь вся информация сохранена.

Для таблиц Access, имеющих поля типа

Одинарное с плавающей точкой

(Single) (это 4 байта),

Двойное с плавающей точкой

(Double) (это 8 байтов),

Поле MEMO

(Memo),

Поле объекта OLE

(OLE Object), в результате переноса в SQL Server создается еще поле типа


Штамп времени


(Timestamp). Это поле Microsoft Access использует при работе с присоединенными таблицами сервера для проверки, не было ли изменений в записи. При отсутствии этого поля работа с такими таблицами может быть не всегда корректной.

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

Откройте в Microsoft Access 2002 базу данных, которую требуется перенести.

Выберите команду

Сервис, Служебные программы, Мастер преобразования в формат SQL Server


(Tools, Database Utilities, Upsizing Wizard). Появится диалоговое окно, представленное на рис. 19.6.

Если нужно создать новую базу данных на SQL Server, в которую будут перенесены таблицы из приложения Access 2002, переходите к шагу 5. Чтобы связать приложение Access 2002 с существующей базой данных в SQL Server (в нашем * примере это база данных Sample на SQL Server), выберите переключатель

Использовать существующую базу данных


(Use existing database) и нажмите кнопку

Далее


(Next). Появится диалоговое окно, представленное на рис. 19.7.




Содержание раздела