• As another example of the issue: assume the data actually changes in the base table, but the checksum of the new data is the same as the checksum of the old data.

    From here on out, the view will continue to return invalid (old) results until the data changes to a data set that returns a different checksum.

    When you have bulk changes on large numbers of rows, large numbers of changes, or very specific collision generating changes (adding leading zeroes in particular, for CHECKSUM()), the code is more likely to fail to notice changes that actually happened.