Serverconfiguratie: twijfelachtige xact-resolutie

Van toepassing op:SQL ServerAzure SQL Managed InstanceSQL Server op virtuele Azure-machines

Gebruik de in-doubt xact resolution optie om het standaardresultaat te bepalen van transacties die de Microsoft DTC (Distributed Transaction Coordinator) niet kan oplossen. Het niet kunnen voltooien van transacties kan verband houden met de uitval van MS DTC of met een onbekende transactie-uitkomst op het moment van herstel.

De volgende tabel bevat de mogelijke resultaatwaarden voor het oplossen van een onzekere transactie.

Resultaatwaarde Description
0 Geen vermoeden. Herstel mislukt als MS DTC geen transacties met twijfel kan oplossen.
1 Veronderstel commit. Hierbij wordt ervan uitgegaan dat alle onbesliste MS DTC-transacties worden vastgelegd.
2 Ga uit van afbreken. Gaat ervan uit dat eventuele MS DTC-transacties met een onduidelijke status worden afgebroken.

Om de kans op langdurige uitval te minimaliseren, kan een beheerder ervoor kiezen deze optie zo te configureren dat commit of abort wordt verondersteld, zoals in het volgende voorbeeld wordt getoond.

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

Als alternatief kan de beheerder de standaardinstelling behouden (geen vermoeden) en herstel laten mislukken om zo op de hoogte te worden gebracht van een DTC-fout, zoals in het volgende voorbeeld wordt weergegeven.

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

De in-doubt xact resolution optie is een geavanceerde optie. Als u de opgeslagen systeemprocedure sp_configure gebruikt om de instelling te wijzigen, kunt u in-doubt xact resolution alleen wijzigen wanneer show advanced options is ingesteld op 1. De instelling wordt onmiddellijk van kracht zonder dat de server opnieuw wordt opgestart.

Opmerking

Consistente configuratie van deze optie voor alle SQL Server-exemplaren die betrokken zijn bij gedistribueerde transacties, helpt bij het voorkomen van inconsistenties van gegevens.