Транзакции (SQL Server Compact)
Транзакции обеспечивают механизм для группирования нескольких изменений базы данных в одну логическую операцию. После внесения изменений в базу данных они могут быть совместно зафиксированы или отменены. Microsoft SQL Server Compact поддерживает транзакции. Транзакции можно использовать несколькими способами:
Программным путем с помощью функций интерфейсов API ADO .NET или OLE DB.
С помощью Visual Studio 2010 с пакетом обновлений 1 (SP1) на настольном компьютере.
Транзакции обеспечивают соблюдение свойств ACID (атомарность, целостность, изоляция и надежность) таким образом, который обеспечивает правильную фиксацию данных в базе. Дополнительные сведения о свойствах ACID транзакций см. в разделе «Транзакции» в электронной документации SQL Server.
При разработке приложений для работы с SQL Server Compact следует учитывать следующие различия между SQL Server Compact и MicrosoftSQL Server 2008 R2.
SQL Server Compact не поддерживает вложение транзакций, однако поддерживает параллельные транзакции в ADO.NET.
Если в транзакции SQL Server Compact открыт курсор, он существует в пределах этой транзакции. Если транзакция прерывается, курсор перестает существовать. Чтобы продолжить использование курсора после отмены транзакции, необходимо создать его вне транзакции. В контексте OLE DB для SQL Server Compact это сделает набор записей недействительным и потребует его закрытия. Если транзакция будет зафиксирована, курсор будет по-прежнему существовать и сохранит полную функциональность.
SQL Server Compact не поддерживает распределенные транзакции.
SQL Server Compact не поддерживает точки сохранения. Точки сохранения позволяют приложению откатывать часть транзакции в случае обнаружении незначительной ошибки. Тем не менее приложения должны полностью фиксировать и откатывать транзакцию по ее завершении.
В этом разделе
Раздел |
Описание |
---|---|
Описание управления запуском и завершением транзакций в приложениях. |
|
Описывает два типа транзакций, поддерживаемых SQL Server Compact: явный режим и режим автоматической фиксации. |
|
Описывает реализацию и ограничения класса TransactionScope. |