Вариант 2 - это общее правило. Если у вас есть ваши коммиты в ваших хранимых процедурах, вы принимаете решение, что независимо от того, кто мне звонит, я знаю лучше и должен завершать любые открытые транзакции, когда я закончу свою работу.
Скажем, у вас есть какой-то процесс, который состоит из нескольких шагов и должен либо зафиксировать их все, либо откатить все назад. Если этот процесс вызывает одну из ваших хранимых процедур, в которой есть коммит как часть выполнения своей работы, то все до этого момента может быть зафиксировано этой хранимой процедурой.
Почти всегда предпочтительно, чтобы вызывающий абонент решал, что должно произойти с транзакцией. Одно обычное исключение - это автономная транзакция внутри процедуры для случаев, когда она особенно нужна.