Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
Указывает, что в момент, когда активна локальная транзакция, выполнение удаленной хранимой процедуры запускает распределенную транзакцию Transact-SQL, управляемую координатором распределенных транзакций Майкрософт (MS DTC).
Внимание
Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Этот параметр предоставляется для обеспечения обратной совместимости для приложений, использующих удаленные хранимые процедуры. Вместо вызова удаленных хранимых процедур используйте распределенные запросы, ссылающиеся на связанные серверы. Они определяются с помощью хранимой процедуры sp_addlinkedserver.
Соглашения о синтаксисе Transact-SQL
Синтаксис
SET REMOTE_PROC_TRANSACTIONS { ON | OFF }
Аргументы
НА | ВЫКЛЮЧЕНО
Если указан аргумент ON, то распределенная транзакция Transact-SQL запускается при выполнении удаленной хранимой процедуры из локальной транзакции. Если указан аргумент OFF, вызов удаленных хранимых процедур из локальной транзакции не приводит к запуску распределенной транзакции Transact-SQL.
Замечания
Когда REMOTE_PROC_TRANSACTIONS ВКЛЮЧЕНО, вызов удалёной хранимой процедуры запускает распределённую транзакцию и зачисляет транзакцию в MS DTC. Экземпляр SQL Server, вызывающий удаленную хранимую процедуру, является инициатором транзакции и контролирует ее завершение. Когда последующая инструкция COMMIT TRANSACTION или ROLLBACK TRANSACTION выдается для соединения, контролирующий экземпляр предписывает MS DTC управлять завершением распределенной транзакции на всех вовлеченных компьютерах.
После запуска распределенной транзакции Transact-SQL могут выполняться вызовы удаленных хранимых процедур обращениями к другим экземплярам SQL Server, определенным в качестве удаленных серверов. Все удаленные серверы связаны с распределенной транзакцией Transact-SQL, и MS DTC обеспечивает завершение транзакции на каждом из удаленных серверов.
REMOTE_PROC_TRANSACTIONS — это настройка на уровне соединения, которая может использоваться для отмены опции на уровне экземпляра sp_configure удалённого процесса трансляции .
Когда REMOTE_PROC_TRANSACTIONS ВЫКЛЮЧЕН, удалённые сохранённые вызовы процедуры не входят в локальную транзакцию. Изменения, произведенные удаленной хранимой процедурой, подтверждаются или откатываются в момент завершения выполнения хранимой процедуры. Последующие инструкции COMMIT TRANSACTION или ROLLBACK TRANSACTION, выданные соединением, которым была вызвана удаленная хранимая процедура, не оказывают воздействия на обработку, выполненную процедурой.
Эта REMOTE_PROC_TRANSACTIONS опция — это опция совместимости, которая затрагивает только удалённые сохранённые вызовы процедур, совершаемые к экземплярам SQL Server, определённых как удалённые серверы, использующие sp_addserver. Параметр не применяется к распределенным запросам, которые выполняют хранимую процедуру на экземпляре, определенном в качестве связанного сервера с использованием процедуры sp_addlinkedserver.
Параметр SET REMOTE_PROC_TRANSACTIONS устанавливается во время выполнения или выполнения, а не во время синтаксического анализа.
Разрешения
Необходимо быть членом роли public.
См. также
НАЧАТЬ РАСПРЕДЕЛЕННУЮ ТРАНЗАКЦИЮ (Transact-SQL)
SET Операторы (Transact-SQL)