• One of my pet peeves with SQL Server is that it allows the silent violation of of the (d)urability principle.

    Consider SQL replication.

    An INSERT gets committed on the publisher. A full disk on the subscriber database causes the INSERT to fail on the subscription. SQL Server now decides that synchronization between the subscriber and publisher is more important than durability of a committed transaction and quietly issues a system delete for that row back on the publisher. In the end, a committed insert simply disappears.

    I've seen this happen with merge replication, and I believe it's also a problem with transactional replication. IMO this is a big mistake.