Serverkonfiguration: osäker xact-lösning

Gäller för:SQL ServerAzure SQL Managed InstanceSQL Server på virtuella Azure-datorer

Använd alternativet in-doubt xact resolution för att styra standardresultatet för transaktioner som Microsoft Distributed Transaction Coordinator (MS DTC) inte kan matcha. Oförmåga att lösa transaktioner kan vara relaterat till MS DTC-stilleståndstiden eller ett okänt transaktionsresultat vid tidpunkten för återställningen.

I följande tabell visas möjliga utfallsvärden för att lösa en osäker transaktion.

Utfallsvärde Description
0 Ingen presumtion. Återställningen misslyckas om MS DTC inte kan lösa eventuella tveksamma transaktioner.
1 Förutsätt incheckning. Förutsätter att alla MS DTC-transaktioner med oklar status antas vara genomförda.
2 Anta att du avbryter. Förutsätter att eventuella MS DTC-osäkra transaktioner avbryts.

För att minimera risken för längre driftavbrott kan en administratör välja att konfigurera det här alternativet till antingen presume commit eller presume abort, vilket visas i följande exempel.

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

Alternativt kanske administratören vill lämna standardvärdet (ingen presumtion) och tillåta att återställningen misslyckas för att bli medveten om ett DTC-fel, som du ser i följande exempel.

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

Alternativet in-doubt xact resolution är ett avancerat alternativ. Om du använder den sp_configure system lagrade proceduren för att ändra inställningen kan du bara ändra in-doubt xact resolution när show advanced options har angetts till 1. Inställningen börjar gälla omedelbart utan omstart av servern.

Anmärkning

Konsekvent konfiguration av det här alternativet för alla SQL Server-instanser som ingår i distribuerade transaktioner hjälper till att undvika datainkonsekvenser.