Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S'applique à :SQL Server
Spécifie que lorsqu'une transaction locale est active, l'exécution d'une procédure stockée distante démarre une transaction distribuée Transact-SQL gérée par Microsoft Distributed Transaction Coordinator (MS DTC).
Important
Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Cette option est fournie pour la compatibilité descendante concernant les applications utilisant des procédures stockées distantes. Au lieu de publier des appels des procédures stockées distantes, utilisez des requêtes distribuées qui font référence à des serveurs liés. Ceux-ci sont définis au moyen de sp_addlinkedserver.
Conventions de la syntaxe Transact-SQL
Syntaxe
SET REMOTE_PROC_TRANSACTIONS { ON | OFF }
Arguments
ON | OFF
Si l'option est activée (ON), une transaction distribuée Transact-SQL est démarrée lorsqu'une procédure stockée distante est exécutée à partir d'une transaction locale. Si elle est désactivée, l'appel d'une procédure stockée distante depuis une transaction locale n'entraîne pas le démarrage d'une transaction distribuée Transact-SQL.
Remarques
Lorsque REMOTE_PROC_TRANSACTIONS c’est ACTIVÉ, appeler une procédure stockée distante lance une transaction distribuée et l’engage auprès de MS DTC. L'instance de SQL Server appelant la procédure stockée distante constitue l'élément créateur de la transaction et qui contrôle l'exécution jusqu'à son terme. Si une instruction COMMIT TRANSACTION ou ROLLBACK TRANSACTION est ensuite émise pour la connexion, le serveur de contrôle demande à MS DTC de gérer l'achèvement de la transaction distribuée sur tous les ordinateurs concernés.
Une fois la transaction distribuée Transact-SQL démarrée, des appels de procédures stockées distantes peuvent être émis vers d'autres instances de SQL Server qui n'ont pas été définies en tant que serveurs distants. Les serveurs distants sont tous enregistrés dans la transaction distribuée Transact-SQL et MS DTC s'assure que la transaction est exécutée jusqu'à son terme sur chaque serveur distant.
REMOTE_PROC_TRANSACTIONS est un réglage au niveau de connexion qui peut être utilisé pour remplacer l’option de transfert à distance sp_configure au niveau d’instance.
Lorsque REMOTE_PROC_TRANSACTIONS c’est DÉSACTIVÉ, les appels à distance de procédures stockées ne font pas partie d’une transaction locale. Les modifications effectuées par la procédure stockée distante sont validées ou annulées une fois celle-ci exécutée. Toute instruction COMMIT TRANSACTION ou ROLLBACK TRANSACTION ultérieure émise par la connexion ayant appelé la procédure stockée distante n'a aucun effet sur le traitement effectué par la procédure.
Cette REMOTE_PROC_TRANSACTIONS option est une option de compatibilité qui concerne uniquement les appels de procédures stockées à distance effectués vers des instances de SQL Server définies comme des serveurs distants utilisant sp_addserver. Cette option ne s’applique pas aux requêtes distribuées qui exécutent une procédure stockée sur une instance définie en tant que serveur lié à l’aide de sp_addlinkedserver.
Le paramètre est défini au moment de SET REMOTE_PROC_TRANSACTIONS l’exécution ou de l’exécution et non au moment de l’analyse.
Autorisations
Nécessite l'appartenance au rôle public .
Voir aussi
DÉMARRER LA TRANSACTION DISTRIBUÉE (Transact-SQL)
SET Instructions (Transact-SQL)