This is perhaps a little bit vague, but I'm hoping that in amongst all the people on SO there will be some who have ran into this type of issue before.
Background
Our application is a C# / .NET service that controls train orders. We use LINQ-to-SQL to store the state of the rail network and train orders in a SQL Server 2005 database.
We have a safety requirement that COTS software cannot be "trusted" per se.
Requirement
Thus the risk has been captured as: "SQL server or operating system modifies static or dynamic data."
Our mandate: "Data stored in the database shall be validated such that on read it can be confirmed by the data access code that it has not changed since the last commit."
Question
I would love to find an "automagic" way of fulfilling this requirement.
Failing that, a way to satisfy the condition without having to create columns in every table of the database to store computed hashes in (that we then have to validate against when reading.)