Службы SSIS вставляют 0 в качестве значения в столбец идентификаторов - PullRequest
2 голосов
/ 17 марта 2010

у нас есть эта проблема: в sqlserver 2005/2008 мы создаем несколько новых таблиц с целочисленным столбцом идентификаторов в качестве первичного ключа: [Id] [int] IDENTITY (1,1) NOT NULL.
При загрузке данных в этой таблице с помощью задачи потока данных служб SSIS службы SSIS должны автоматически заполнять столбец Id. Это так, НО начинается с 0 вместо 1. После этого, когда мы удаляем все строки и делаем checkident (reseed, 0), мы перезагружаемся, и он начинается с 1, как и должно быть. Любая идея, как мы могли бы сделать это правильно с первого раза?

Ответы [ 2 ]

1 голос
/ 17 марта 2010

Создавали ли вы таблицы со столбцами идентификаторов непосредственно в SSMS? Я видел, как семена идентификаторов начинаются с 0 при использовании инструментов ERD для создания DDL T-SQL. Кроме того, имеет ли значение, что столбец идентификатора начинается с 1?

0 голосов
/ 17 марта 2010

Возможно ли, что у вас включена опция FastLoadKeepIdentity (oledb) или BulkInsertKeepIdentity (sql server) пункта назначения?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...