Я вижу много вещей, которые могут создать проблему. Сначала измените триггер, чтобы рассмотреть возможность импорта нескольких записей. Это может решить вашу проблему. НЕ ВЫКЛЮЧАЙТЕ курок, так как он выключен для всех, а не только для вас. Если вам необходимо перевести базу данных в однопользовательский режим, прежде чем делать это, и выполнять свою задачу в нерабочее время.
Далее, ни при каких обстоятельствах никогда не используйте @@ identity, чтобы получить только что введенное значение! Вместо этого используйте scope_identity. @@ identity вернет неправильное значение, если в таблице есть триггеры, которые также выполняют вставки в другие таблицы с полями идентификации. Если вы используете @@ identity прямо сейчас в своей системе (поскольку мы знаем, что в вашей системе есть триггеры), вашим первоочередным приоритетом должно быть немедленное обнаружение и изменение всех экземпляров @@ identity в вашем коде. У вас могут возникнуть серьезные проблемы с целостностью данных, если у вас их нет. Это проблема «остановить всю работу, пока это не будет исправлено».
Что касается получения информации, которую вы только что вставили, рассмотрите возможность создания batchid как части вашей вставки, а затем добавьте столбец с именем batchid (который можно обнулять, чтобы он не влиял на другие вставки) в таблицу. Затем вы можете перезвонить то, что вы вставили с помощью batchid.