We encountered a very strange behaviour that happened only once in a few years of production of our application: An update happened via "normal" ADO.NET out of a WinForms app on a database table and a field of that table that should have remained 0 in this update contains now a value in the order of 3 billion. The field in the database is specified as decimal(18,2) and the SQLParameter used in .NET when calling the update procedure is also set to decimal with the right scale and precision.
(We have a simple update procedure that just takes all fields of that table as parameters and updates all values of the specified row.)
We have never seen this situation before and looking at the code there is no calculation around this field that could possibly end up with this high value.
I know this is a broad question, but where would you be looking for an error in this case? It happened only once and it is not reproducable. (We restored for example the databases and the application to the right point in time and replayed the user action leading to this strange behaviour. The field wasn't updated to such a crazy value in that scenario.)
We are using SP4.