Dediğiniz gibi bir senaryoda çok farklı durumlar mevcut.
Bir Database'de hata olma olasılığı çok azdır sebep ;
MSSQL Tarafından veri tabanınız bir havuzda tutulur ve MSSQL Sunucusunun yapısal hatalarından uzaktır. Şöyle düşüne bilirsiniz Windows çöp kutusunun her türlü döndürüle bildiği bir yapı gibi
Bu sebepten veri tabanında bir hata olma olasılığı yoktur. Oluşan hatalar genelde MSSQL Sunucusu kaynaklı ya da yazma yapar iken oluşan hatalardır. Bunlarda sequential operation denilen (Sıralı işlem) ile aslında sadece yazma işlem sırasındaki veri kaybı ile bunun önüne geçiyor.
Kısacası SQL DB hata olma olasılığı çok azdır. (Veri Kaybı demiyorum.)