Dela via


Serverkonfiguration: osäker xact-lösning

Gäller för:SQL ServerAzure SQL Managed InstanceSQL Server på en virtuell Azure-dator

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 tveksamhet har checkats in.
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 nedtid kan en administratör välja att konfigurera det här alternativet antingen för att anta incheckning eller anta att det avbryts, 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.