У меня есть приложение, управляемое событиями, которое недавно начало использовать SQL Express 2008 (вместо версии Std) в dev и test для сохранения текущего состояния конечного автомата. После перехода на SQL Express мы начали видеть расхождение между порядком, в котором мы записываем в базу данных (используя LINQ to SQL), и порядком, в котором SQL Express Profiler сообщает данные, поступающие в базу данных.
Мы регистрируем данные, используя Log4Net, и записи журнала показывают, что входящие события происходят в правильном порядке, и мы должны обработать их в правильном порядке. Мы также обнаружили, что при профилировании SQL Express данные записываются не в порядке . Эффект заключается в том, что когда появляются последующие события (примерно через 500 мс после вызова SubmitChanges()
для контекста данных LINQ), записи в БД еще не были (еще?) Зафиксированы, поэтому модели состояний считают, что мы находимся в недопустимом состоянии, и не правильно переходить. Конечный результат - хаос.
Для чего бы то ни было, я не вижу этого в SQL Server 2008 Standard, поэтому мне интересно, если это проблема с SQL Express? Вы видели подобные проблемы с этим?
Я предполагаю, что это не проблема с профилировщиком, поскольку у нас действительно есть проблема перехода с некоторыми переходами состояний, поэтому профилировщик, похоже, согласен с наблюдаемыми результатами.
С уважением,
Эндрю Мэтьюз