У меня есть уровень доступа к данным, который возвращает DataSets / DataTables, выполняя хранимую процедуру. Все работало хорошо от многих месяцев. Но неожиданно мы начали получать следующую ошибку.
System.ArgumentException; Столбец не принадлежит таблице
Я написал дополнительный регистрационный код для устранения этой проблемы. Я был потрясен, увидев, что SP иногда возвращает неожиданный набор результатов. Хранимая процедура иногда возвращает результат, запрошенный службами Windows с помощью другой хранимой процедуры.
Я отслеживал трафик Sql Server с помощью Profiler. Когда эта ошибка произошла, Sql Profiler не показал никакого выполнения для SP, который я фактически выполнил. Трудно воспроизвести эту ошибку, это происходит случайно.
Мы столкнулись с этой проблемой только в нашей среде тестирования. Наша среда тестирования работает под управлением Windows 2003 Server и Sql Server 2005 Express Edition.
В прошлом мы проводили несколько жестких нагрузочных тестов для нашего приложения с использованием Sql Server 2005 Express и Standard Edition, но мы никогда не сталкивались с этими проблемами.
Кто-нибудь сталкивался с такой проблемой раньше?
Обновление
Я сбросил результат, полученный после выполнения хранимой процедуры, в файл журнала. Я обнаружил, что возвращаемый результат иногда пуст, а иногда результат sp, выполняемый различными службами Windows.
Эта проблема не возникает ни в какой другой среде. Поэтому я перестал изучать эту проблему.