Summary
Update processing is extremely complicated, much more so than is commonly appreciated. SQL Server generally takes great care to ensure correct operation at all times. It does this partly by protecting physical structures with appropriate latches and locks in accordance with the requirements of the current transaction isolation level.Even an apparently simple operation like deleting a single row from an index requires a great deal of precise coordination between the query processor and storage engine. Much of the low-level code has been around for decades, so it is well-tested and robust.
It was a huge surprise then, to discover a case where SQL Server gets things wrong. This failure can result in errors, internal assertion failures, stack dumps, and connection termination.
No comments:
Post a Comment
All comments are reviewed before publication.