Поделиться через


Транзакции и параллелизм (ADO.NET)

Обновлен: November 2007

Транзакция состоит из одной команды или группы команд, которые выполняются как пакет. Транзакции позволяют объединить несколько операций в одну единицу работы. Если в какой-либо точке транзакции возникает ошибка, может быть выполнен откат всех обновлений к их состоянию до начала транзакции.

Для обеспечения согласованности данных транзакция должна соответствовать свойствам ACID (атомарность, согласованность, изоляция и устойчивость). Большая часть систем реляционных баз данных, таких как Microsoft SQL Server, поддерживает транзакции, предоставляя блокировку, ведение журнала и средства управления транзакцией при выполнении клиентским приложением операций обновления, вставки или удаления.

777e5ebh.alert_note(ru-ru,VS.90).gifПримечание.

Транзакции, которые привлекают множество ресурсов, могут снизить параллелизм, если блокировки сохраняются слишком долго. Поэтому следует стараться, чтобы транзакции были как можно более короткими.

В том случае, если в транзакции участвует несколько таблиц одной базы данных или одного сервера, явные транзакции в хранимых процедурах часто выполняются лучше. Транзакции можно создавать в хранимых процедурах SQL Server с использованием инструкций Transact-SQL BEGIN TRANSACTION, COMMIT TRANSACTION и ROLLBACK TRANSACTION. Дополнительные сведения см. в электронной документации по SQL Server.

Если для выполнения транзакций требуются различные диспетчеры ресурсов, например для транзакций между SQL Server и Oracle, необходимо использовать распределенную транзакцию.

В этом подразделе

См. также

Основные понятия

Transaction Fundamentals

Объекты DbProviderFactory (ADO.NET)

Другие ресурсы

Соединение с источником данных (ADO.NET)

Команды и параметры (ADO.NET)

Объекты DataAdapter и DataReader (ADO.NET)