Проблемы с экспортом данных SQL Server 2008 R2

Я пытаюсь экспортировать данные из моей производственной БД в мою БД разработки, но я получаю эту ошибку:

сообщение об ошибке 0xc0202049: задача потока данных 1: ошибка вставки в столбец "id"только для чтения. (Мастер импорта и экспорта SQL Server)

есть ли способ проверить, какие колонки, потому что у меня есть 20 таблиц, все они используют имя столбца id или, по крайней мере, получить лучший отчет об ошибке?

5 ответов


просто нажмите на кнопку Edit mappings при выборе таблиц для импорта из. и проверьте на . И вы должны делать это для каждого выбранного стола. Затем вы можете завершить импорт. Мне помогли в той же ситуации.


если идентификатор столбца является столбцом идентификатора, он, вероятно, настроен для автоматического создания при вставке строки и не может быть непосредственно записан.

чтобы сохранить привязку из производственной среды к тесту, используйте:

SET Identity_Insert <TableName> ON

для записи значений идентификаторов.


все, что мне нужно было:

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

Если кто-то знает другой (более быстрый) способ сделать это, пожалуйста, поделитесь


звучит так, как будто вы пытаетесь вставить значения в столбец, который был объявлен как поле идентификатора.


Ну, ответ немного опоздал, но я все равно публикую его ради предоставления сообществу.

Я предполагаю, что вы пытаетесь скопировать таблицы (а не частичные данные). Мой ответ основан на этом предположении.

  1. подключение к исходной БД через Обозреватель объектов в SSMS.
  2. щелкните правой кнопкой мыши db что вы хотите, чтобы его таблицы были скопированы.
  3. на 'Задачи'-->''.
  4. выбрать источник и целевой сервер, и если вы не хотите, чтобы дополнительный скрипт запускался перед руками, просто нажмите next ("копировать данные из одной или нескольких таблиц или представлений"). Теперь вы можете выбрать таблицы, которые хотите скопировать в пункт назначения.

выберите таблицы, которые вы хотите полностью скопировать в пункт назначения. И нажмите "Редактировать сопоставления". Здесь вы можете "включить identity insert". У вас также будут другие опции, поэтому проверьте экран перед нажатием OK.

Если вы не пользуетесь экспресс-выпуск SSMS здесь вы можете создать пакет служб SSIS для создания заданий и автоматизации этого процесса в будущем. Вы можете проверить "запустить немедленно" и следовать экрану о том, как это происходит со всеми предупреждениями и ошибками. Надеюсь, вы ничего не получите. Удачи!

Tested with:
(
    Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (Intel X86) 
    Jun 17 2011 00:57:23 
    Copyright (c) Microsoft Corporation
    Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2)
)