Да, в некоторых случаях данные при процедуре не теряются. 1
Например, в SQL Server для этого используется настройка «Выключено» (по умолчанию). 1 При её применении все фиксируемые в базе данных транзакции являются полностью устойчивыми, что гарантирует, что данные не будут подвергаться рискам из-за отложенной устойчивости. 1
Также для предотвращения потери данных при работе с базами данных используются различные уровни изоляции транзакций, например: