in-doubt xact resolution (opzione di configurazione del server)

Si applica a:SQL Server

L'opzione in-doubt xact resolution consente di controllare il risultato predefinito delle transazioni che non possono essere risolte da Microsoft Distributed Transaction Coordinator (MS DTC). L'impossibilità di risolvere le transazioni potrebbe essere dovuta al tempo di inattività di MS DTC oppure a un risultato sconosciuto della transazione al momento del recupero.

Nella tabella seguente vengono descritti i possibili valori del risultato della risoluzione di una transazione in dubbio.

Valore risultato Descrizione
0 No presumption (nessuna presupposizione). L'operazione di recupero ha esito negativo se tramite MS DTC non è possibile risolvere alcuna transazione in dubbio.
1 Presume commit (presupposizione commit). Si presuppone il commit di qualsiasi transazione in dubbio MS DTC.
2 Presume abort (presupposizione interruzione). Si presuppone l'interruzione di qualsiasi transazione in dubbio MS DTC.

Per ridurre al minimo la possibilità di tempi di inattività prolungati, un amministratore può configurare questa opzione per presupporre il commit o l'interruzione, come illustrato nell'esempio seguente.

sp_configure 'show advanced options', 1  
GO  
RECONFIGURE  
GO  
sp_configure 'in-doubt xact resolution', 2 -- presume abort  
GO  
RECONFIGURE  
GO  
sp_configure 'show advanced options', 0  
GO  
RECONFIGURE  
GO  
  

In alternativa, è possibile lasciare l'opzione predefinita, no presumption, e consentire il verificarsi dell'errore dell'operazione di recupero per essere a conoscenza di un errore DTC, come illustrato nell'esempio seguente.

sp_configure 'show advanced options', 1  
GO  
RECONFIGURE  
GO  
sp_configure 'in-doubt xact resolution', 1 -- presume commit  
GO  
reconfigure  
GO  
ALTER DATABASE pubs SET ONLINE -- run recovery again  
GO  
sp_configure 'in-doubt xact resolution', 0 -- back to no assumptions  
GO  
sp_configure 'show advanced options', 0  
GO  
RECONFIGURE  
GO  
  

in-doubt xact resolution è un'opzione avanzata. Se si usa la stored procedure di sistema sp_configure per modificare l'impostazione, è possibile modificare in-doubt xact resolution solo quando il valore di show advanced options è impostato su 1. L'impostazione diventa effettiva immediatamente e non richiede il riavvio del server.

Nota

Impostando questa opzione in modo coerente in tutte le istanze di Microsoft SQL Server coinvolte in qualsiasi transazione distribuita, è possibile evitare inconsistenze dei dati.

Vedi anche

RECONFIGURE (Transact-SQL)
Opzioni di configurazione del server (SQL Server)
sp_configure (Transact-SQL)