Вы нашли одну из самых раздражающих частей SQL Server.Существуют ситуации, когда может возникнуть ошибка, и SQL сгенерирует два сообщения об ошибке: первое, чтобы объяснить причину ошибки, а второе, чтобы сказать что-то полезное, например «Оператор завершен» (что, технически, является номером ошибки3621).Дело в том, что SQL и почти все остальное, что его касается - например, PHP - могут только видеть / принимать / обрабатывать / или иным образом использовать это последнее сообщение об ошибке unlcear.Тот, который действительно полезен, теряется.
Быстрый способ выяснить, что происходит, - запустить последовательность команд, приводящую к ошибке из SSMS.Это, очевидно, не сработает для вас.
Более хитрый способ выяснить это - запустить SQL Profiler для отслеживания события Exception, а затем запустить ваш процесс.Это должно показать все ошибки, которые произошли.Вбрасывание соответствующих других событий (SP: Starting, SP: StmtStarting, SQL: BatchStarting, все, что применимо к коду, который вы отправляете в базу данных), покажет, какая команда вызывает ошибку.