Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Specifikuje, že když je aktivní lokální transakce, spustí se při spuštění vzdálené uložené procedury Transact-SQL distribuovaná transakce spravovaná služba MS DTC (Microsoft Distributed Transaction Coordinator) (MS DTC).
Important
Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Tato možnost je určena pro zpětnou kompatibilitu pro aplikace využívající vzdálené uložené procedury. Místo vydávání vzdálených uložených procedur používejte distribuované dotazy, které odkazují na propojené servery. Tyto jsou definovány pomocí sp_addlinkedserver.
Syntax
SET REMOTE_PROC_TRANSACTIONS { ON | OFF }
Arguments
ON | VYPNOUT
Když je zapnuto, Transact-SQL distribuovaná transakce se spustí, když je vzdálená uložená procedura vykonána z lokální transakce. Při vypnutí volání vzdálených uložených procedur z lokální transakce nezahajuje Transact-SQL distribuovanou transakci.
Remarks
Když REMOTE_PROC_TRANSACTIONS je zapnuto, volání vzdálené uložené procedury spustí distribuovanou transakci a zaregistruje transakci do MS DTC. Instance, kdy SQL Server provádí vzdálené volání uložené procedury, je iniciátorem transakce a řídí dokončení transakce. Když je pro spojení vydán další příkaz COMMIT TRANSACTION nebo ROLLBACK TRANSACTION, řídicí instance požádá, aby MS DTC spravovalo dokončení distribuované transakce mezi zapojenými počítači.
Po zahájení Transact-SQL distribuované transakce lze vzdáleně volat uložené procedury na jiné instance SQL Server, které byly definovány jako vzdálené servery. Všechny vzdálené servery jsou zapojeny do Transact-SQL distribuované transakce a MS DTC zajišťuje, že transakce je dokončena proti každému vzdálenému serveru.
REMOTE_PROC_TRANSACTIONS je nastavení na úrovni připojení, které lze použít k přepsání možnosti vzdáleného transtransu na úrovni instance sp_configure vzdáleného procování .
Když REMOTE_PROC_TRANSACTIONS je VYPNUTO, vzdálené uložené procedurální volání nejsou součástí lokální transakce. Úpravy provedené vzdálenou uloženou procedurou jsou potvrzeny nebo vráceny zpět v okamžiku dokončení uložené procedury. Následné příkazy COMMIT TRANSACTION nebo ROLLBACK TRANSACTION vydané spojením, které volalo vzdálenou uloženou proceduru, nemají žádný vliv na zpracování prováděné procedurou.
Tato REMOTE_PROC_TRANSACTIONS možnost je kompatibilní a ovlivňuje pouze vzdálené uložené procedurální volání prováděná na instance SQL Server definované jako vzdálené servery využívající sp_addserver. Tato možnost se nevztahuje na distribuované dotazy, které vykonávají uloženou proceduru na instanci definované jako propojený server pomocí sp_addlinkedserver.
Nastavení je SET REMOTE_PROC_TRANSACTIONS nastaveno při spuštění nebo běhu a ne při parse.
Permissions
Vyžaduje členství ve veřejné roli .
Viz také
BEGIN DISTRIBUTED TRANSACTION (Transact-SQL)
SET Příkazy (Transact-SQL)