This question is a follow-up/in relation to my previous question here: http://stackoverflow.com/questions/3518498/sql-server-is-there-a-need-to-verify-a-data-modification
I did some googling, and the paper (which I can't access) "When the CRC and TCP checksum disagree" indicates the occurrence of an unchecked error rate of 1 in 16 million to 10 billion packets. Hence, for a erroneous insert/update/delete to succeed, the error will have to affect value(s) or keyword(s) (in a syntactically correct way) in a sql statement. This means that the probability of SQL Server receiving and executing an erroneous sql statement is even much lower than that indicated in the paper.
What I would like to know is whether are there anything else which will further lower the probability of an erroneous sql statement being received or allow it to be detected:
- Does an sql statement contain a checksum which SQL Server checks to verify if the integrity of the statement?
- Is it possible to retrieve the last sql statement received by SQL Server for comparison with the sql statement sent? This is computationally less expensive than querying the database to check if the sql statement sent is received correctly, although unlike the latter technique, it cannot check if the sql statement is executed correctly or not.
- Any other thing which I have left out and you think may be useful.
In case you were wondering, what I'm working on is a military application, which explains the high level of integrity they require.
Thank you.