2013-07-04 11 views

risposta

27

Una transazione su più DB nella stessa istanza è una transazione locale. BEGIN TRANSACTION funzionerà perfettamente.

+0

è richiesto il servizio MSDTC per questo tipo di transazione? Questa transazione sarà un transaciton distribuito? – Entrodus

+1

@Entrodus DTC non è coinvolto. http://stackoverflow.com/questions/23976740/distributed-database-transaction-vs-cross-database-transaction –

+3

Una piccola nota dalla documentazione ufficiale: una transazione all'interno di una singola istanza del Motore di database che si estende su due o più database è in realtà una transazione distribuita. L'istanza gestisce internamente la transazione distribuita; per l'utente, funziona come una> transazione locale. ' https://technet.microsoft.com/en-us/library/ms191440(v=sql.105).aspx – Deniz

3

Appena testato. BEGIN TRANSACTION funziona come previsto su due database sullo stesso server.

-3

La documentazione di SQL Server è chiara su come avviare una transazione distribuita.

BEGIN DISTRIBUTED TRANSACTION

+0

La transazione distribuita è richiesta solo per i database in diverse istanze, collegati tramite server collegati. Se entrambi i database si trovano nella stessa istanza di Sql Server, BEGIN TRANSACTION sarà sufficiente. – harsimranb

Problemi correlati