Копировать данные из SQL Server Express, сохранить первичный ключ - PullRequest
0 голосов
/ 03 апреля 2010

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

Ответы [ 3 ]

1 голос
/ 03 апреля 2010

Как уже упоминалось, IDENTITY_INSERT - это флаг, который вы хотите установить для каждой таблицы, чтобы позволить вам установить конкретное значение в столбце идентификации для каждой вставленной записи.

Но если вы просто пытаетесь дублировать всю существующую базу данных (или большую ее часть), а не просто скопировать несколько таблиц, я рекомендую просто сделать полное резервное копирование базы данных, восстановить файл BAK с новым именем базы данных, а затем сделатьваши модификации клону.

1 голос
/ 03 апреля 2010

Я предполагаю, что ваши первичные ключи - IDENTITY? Если это так, вы должны использовать SET IDENTITY_INSERT ON для таблицы (только одну таблицу за раз) - если вы используете такой инструмент, как SSIS или аналогичный для передачи, обычно есть опция, позволяющая вставить идентичностей.

0 голосов
/ 04 апреля 2010

вы можете использовать команду bcp для этой работы. с помощью команды bcp вы можете массово скопировать ваши данные. эта команда имеет переключатель, который сохраняет вашу личность.

для получения более подробной информации перейдите по этой ссылке .

...