Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Istanza gestita di SQL di Azure
SQL Server su macchine virtuali di Azure
Usare l'opzionein-doubt xact resolution per 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 del risultato | Descrizione |
|---|---|
0 |
No presumption (nessuna presupposizione). L'operazione di recupero ha esito negativo se MS DTC non riesce a risolvere alcuna transazione in dubbio. |
1 |
Presumi commit Presuppone che eventuali transazioni MS DTC in stato dubbio vengano confermate. |
2 |
Presumi interruzione. Presuppone che tutte le transazioni MS DTC in stato dubbio vengano interrotte. |
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.
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'in-doubt xact resolution', 2; -- presume abort
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO
In alternativa, l'amministratore potrebbe voler lasciare l'impostazione predefinita (nessuna presunzione) e consentire il fallimento del ripristino per essere informato di un errore DTC, come illustrato nell'esempio seguente.
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'in-doubt xact resolution', 1; -- presume commit
GO
RECONFIGURE;
GO
ALTER DATABASE pubs SET ONLINE -- run recovery again
;
GO
EXECUTE sp_configure 'in-doubt xact resolution', 0 -- back to no assumptions
;
GO
EXECUTE sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO
L’opzione in-doubt xact resolution è un'opzione avanzata. Se per modificare le impostazioni si usa la stored procedure di sistema sp_configure, sarà possibile modificare in-doubt xact resolution solo quando show advanced options è impostato su 1. L'impostazione diventa effettiva immediatamente e non richiede il riavvio del server.
Nota
Configurando questa opzione in modo coerente in tutte le istanze di SQL Server coinvolte in qualsiasi transazione distribuita, è possibile evitare inconsistenze dei dati.