Так как не стоит вводить код в комментарий, в ответ на ваш комментарий в ответе Эрика, что он не работает для вас ...
Я только что запустил следующее в окне SQL 2005 (извините, нет 2000, удобно) с настройками по умолчанию, и оно работало без ошибок:
CREATE TABLE dbo.Test_Identity_Insert
(
id INT IDENTITY NOT NULL,
my_string VARCHAR(20) NOT NULL,
CONSTRAINT PK_Test_Identity_Insert PRIMARY KEY CLUSTERED (id)
)
GO
INSERT INTO dbo.Test_Identity_Insert VALUES ('test')
GO
SELECT * FROM dbo.Test_Identity_Insert
GO
Возможно, вы отправляете значение ID в вашем списке значений? Я не думаю, что вы можете заставить его игнорировать столбец, если вы действительно передаете ему значение. Например, если в вашей таблице 6 столбцов и вы хотите игнорировать столбец IDENTITY, вы можете передать только 5 значений.