2013-12-10 3 views
8

Я экспортировал несколько таблиц базы данных Microsoft Access на SQL Server 2012 с использованием ODBC. Впоследствии я связался с источниками данных, создав связанные таблицы.Экспорт базы данных Доступ к SQL-серверу: индексы и ключи?

Теперь вот проблема.

Когда я проверяю таблицы в самом SQL-сервере, я вижу только таблицы базы данных, столбцы и их соответствующие типы данных. Ключи или индексы не найдены. Тем не менее, в моей базе данных Access все они были определены. Кроме того, я заметил, что запросы Access выбирают поле (и), которое уникально идентифицирует каждую запись, чтобы обеспечить целостность данных и обновлять записи. Я понимаю, что они становятся Первичными ключами, но почему бы не использовать ПК, которые уже присутствуют?

Что было бы самым простым и эффективным способом переноса других свойств поля, таких как индексы, ключи, ограничения? В противном случае мне нужно было бы определить все это вручную, и это было бы очень трудоемким.

Большое спасибо за вашу помощь!

ответ

8

Как вы обнаружили, ключи и индексы, а не копируются, если вы просто экспортировать таблицу Access в SQL Server с помощью External Data > Export > More > ODBC Database:

Export.png

Однако индексы, ключи, и отношения являются копируются в SQL Server, если вы используете "Upsizing Wizard", который вызывается с помощью Database Tools > Move Data > SQL Server:

Move.png

Примечание: «Мастер обновления» был удален из Access 2013, поэтому пользователям Access 2013 (и новее) потребуется вместо этого использовать «Помощник по миграции SQL Server для доступа». Для получения дополнительной информации смотрите here.

+0

Привет, Горд, спасибо, что направил меня сюда! Я заметил, что кнопка SQL Server отсутствует в разделе «данные перемещения» для меня. Я нахожусь в Access 2013 ... Любое обходное решение для этого? –

+0

Привет @KrisVandenBergh - Я обновил свой ответ. –

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