Ответ 1
Вам понадобится включить вставку для идентификации. Если вы нажмете "Редактировать сопоставления", установите флажок.
Я хочу переместить данные из одной базы данных в другую, сохраняя значения столбца идентификатора в старой БД. Когда я запускаю мастер, я получаю ошибку проверки "Внесение сбоя в столбец только для чтения" ChannelID ".
Если ChannelID является столбцом идентификации в этой таблице. Как я могу переопределить функции идентификации, чтобы иметь возможность импортировать данные?
Вам понадобится включить вставку для идентификации. Если вы нажмете "Редактировать сопоставления", установите флажок.
Ответ Byte56 верен - установите флажок "Включить идентификационную вставку" на экране "Редактирование сопоставлений". Я просто хотел указать, что в списке "Выбрать исходные таблицы и виды" поддерживается многоэкранный выбор, поэтому вы можете удерживать Shift или Ctrl, чтобы выбрать несколько таблиц в списке.
Вы должны использовать SET IDENTITY INSERT ON
, чтобы разрешить вставку значений в столбце IDENTITY
Вот ссылка в MSDN
В ИЗМЕНИТЬ КОЛОННУЮ КАРТОЧКУ, отметьте ВКЛЮЧЕНА ИДЕНТИФИКАЦИИ.. Затем нажмите кнопку EDIT SQL.
Изменить
[MyID] int NOT NULL,
в
[MyID] int IDENTITY(1,1),
Работает при импорте базы данных MS Access. Это сохраняет данные в поле Autonumber, которые преобразуются в столбец Identity.
SQL Server 2008 R2 с использованием SSMS 2008 R2.
Простое включение идентификации в "Редактирование сопоставлений" не сохраняет identity = true. Мне нужно вручную отредактировать sql для каждой таблицы и включить свойство IDENTITY в код sql.
Пример: ADD MS_IDENT числовое (18,0) ИДЕНТИФИКАЦИЯ NOT NULL,