В версию SQL Server 6.5 была впервые добавлено средство, автоматизирующее обработку распределенных транзакций в среде Windows NT и Windows95 - Microsoft Distributed Transaction Coordinator (MS DTC).
MS DTC является одним из первых примеров реализаций архитектуры Distributed Common Object Model. Он обеспечивает прикладным программам возможность использовать механизм OLE для манипуляции локальными и сетевыми объектами с автоматическим поддержанием распределенных транзакций на пространстве этих OLE объектов.
MS DTC в составе SQL Server 6.5 поддерживает подмножество OLE-DB для работы с данными, хранимыми на сервере, и управления самим SQL сервером.
В терминологии распределенных вычислений транзакцией называют процесс манипуляции данными, отвечающий требованиям ACID, что раскрывается как:
Если программа для выполнения последовательности действий обращается только к одному серверу, функции DTC сводятся к передаче запросов программы SQL серверу, который обеспечивает выполнение транзакции собственными средствами, и результатов - прикладной программе.
В случае, когда в процессе исполнения программы ей требуется доступ к удаленным источникам данных, схема взаимодействия усложняется, возникает необходимость координации выполнения запросов и применения механизма двухфазной фиксации транзакций. Рассмотрим рисунок 22.
Рис. 22. Схема взаимодействия в распределенной транзакции
Для выполнения согласованной фиксации или отката транзакции необходимо наличие координатора. Координатор порождает объект, представляющий распределённую транзакцию, и следит за согласованным выполнением операций ведомыми менеджерами транзакций и сохраняет статус текущей транзакции до момента её завершения.