SET REMOTE_PROC_TRANSACTIONS (Transact-SQL)SET REMOTE_PROC_TRANSACTIONS (Transact-SQL)

SI APPLICA A: sìSQL Server noDatabase SQL di Azure noAzure SQL Data Warehouse noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Specifica che, quando una transazione locale è attiva, l'esecuzione di una stored procedure remota comporta l'avvio di una transazione distribuita Transact-SQLTransact-SQL gestita da MicrosoftMicrosoft Distributed Transaction Coordinator (MS DTC).Specifies that when a local transaction is active, executing a remote stored procedure starts a Transact-SQLTransact-SQL distributed transaction managed by MicrosoftMicrosoft Distributed Transaction Coordinator (MS DTC).

Importante

Questa funzionalità verrà rimossa a partire dalla prossima versione di Microsoft SQL Server.This feature will be removed in the next version of Microsoft SQL Server. Non usare questa funzionalità in un nuovo progetto di sviluppo e modificare non appena possibile le applicazioni in cui è attualmente implementata.Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. Questa opzione è disponibile per la compatibilità con le versioni precedenti per le applicazioni che utilizzano stored procedure remote.This option is provided for backward compatibility for applications that use remote stored procedures. Anziché pubblicare chiamate della stored procedure remota, utilizzare query distribuite che fanno riferimento a server collegati cheInstead of issuing remote stored procedure calls, use distributed queries that reference linked servers. vengono definiti tramite sp_addlinkedserver.These are defined by using sp_addlinkedserver.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax

  
SET REMOTE_PROC_TRANSACTIONS { ON | OFF }   

ArgomentiArguments

ON | OFFON | OFF
Quando è impostata su ON, viene avviata una transazione distribuita Transact-SQLTransact-SQL quando in una transazione locale viene eseguita una stored procedure remota.When ON, a Transact-SQLTransact-SQL distributed transaction is started when a remote stored procedure is executed from a local transaction. Quando è impostata su OFF, la chiamata di una stored procedure remota in una transazione locale non avvia una transazione distribuita Transact-SQLTransact-SQL.When OFF, calling remote stored procedures from a local transaction does not start a Transact-SQLTransact-SQL distributed transaction.

RemarksRemarks

Quando l'opzione REMOTE_PROC_TRANSACTIONS è impostata su ON, la chiamata di una stored procedure remota comporta l'avvio di una transazione distribuita e l'integrazione della transazione in MS DTC.When REMOTE_PROC_TRANSACTIONS is ON, calling a remote stored procedure starts a distributed transaction and enlists the transaction with MS DTC. L'istanza di SQL ServerSQL Server in cui viene chiamata la stored procedure remota corrisponde all'origine della transazione e ne controlla il completamento.The instance of SQL ServerSQL Server making the remote stored procedure call is the transaction originator and controls the completion of the transaction. Quando per la connessione viene successivamente eseguita un'istruzione COMMIT TRANSACTION o ROLLBACK TRANSACTION, l'istanza di controllo richiede che il completamento della transazione distribuita nei computer interessati venga gestito da MS DTC.When a subsequent COMMIT TRANSACTION or ROLLBACK TRANSACTION statement is issued for the connection, the controlling instance requests that MS DTC manage the completion of the distributed transaction across the computers involved.

Dopo l'avvio di una transazione distribuita Transact-SQLTransact-SQL, è possibile chiamare stored procedure remote in altre istanze di SQL ServerSQL Server che sono state definite come server remoti.After a Transact-SQLTransact-SQL distributed transaction has been started, remote stored procedure calls can be made to other instances of SQL ServerSQL Server that have been defined as remote servers. Tutti i server remoti sono integrati nella transazione distribuita Transact-SQLTransact-SQL. MS DTC assicura inoltre che la transazione venga completata in ogni server remoto.The remote servers are all enlisted in the Transact-SQLTransact-SQL distributed transaction, and MS DTC ensures that the transaction is completed against each remote server.

L'opzione REMOTE_PROC_TRANSACTIONS è un'impostazione a livello di connessione che consente di ignorare l'opzione sp_configure remote proc trans a livello di istanza.REMOTE_PROC_TRANSACTIONS is a connection-level setting that can be used to override the instance-level sp_configure remote proc trans option.

Quando l'opzione REMOTE_PROC_TRANSACTIONS viene impostata su OFF, le chiamate di stored procedure remote non diventano parte di una transazione locale.When REMOTE_PROC_TRANSACTIONS is OFF, remote stored procedure calls are not made part of a local transaction. Al completamento della stored procedure remota viene eseguito il commit o il rollback delle modifiche apportate dalla stored procedure.The modifications made by the remote stored procedure are committed or rolled back at the time the stored procedure completes. Le successive istruzioni COMMIT TRANSACTION o ROLLBACK TRANSACTION eseguite dalla connessione che ha chiamato la stored procedure remota non hanno alcun effetto sull'elaborazione eseguita dalla procedura.Subsequent COMMIT TRANSACTION or ROLLBACK TRANSACTION statements issued by the connection that called the remote stored procedure have no effect on the processing done by the procedure.

L'opzione REMOTE_PROC_TRANSACTIONS è disponibile per compatibilità con le versioni precedenti e ha effetto solo sulle chiamate di stored procedure remote indirizzate a istanze di SQL ServerSQL Server che sono state definite come server remoti tramite sp_addserver.The REMOTE_PROC_TRANSACTIONS option is a compatibility option that affects only remote stored procedure calls made to instances of SQL ServerSQL Server defined as remote servers using sp_addserver. L'opzione non viene applicata alle query distribuite che eseguono una stored procedure in un'istanza definita come server collegato tramite sp_addlinkedserver.The option does not apply to distributed queries that execute a stored procedure on an instance defined as a linked server using sp_addlinkedserver.

L'opzione SET REMOTE_PROC_TRANSACTIONS viene impostata in fase di esecuzione, non in fase di analisi.The setting of SET REMOTE_PROC_TRANSACTIONS is set at execute or run time and not at parse time.

AutorizzazioniPermissions

È richiesta l'appartenenza al ruolo public .Requires membership in the public role.

Vedere ancheSee Also

BEGIN DISTRIBUTED TRANSACTION (Transact-SQL) BEGIN DISTRIBUTED TRANSACTION (Transact-SQL)
Istruzioni SET (Transact-SQL)SET Statements (Transact-SQL)