Sdílet prostřednictvím


Konfigurace serveru: Nepochybné řešení xact

Platí pro:SQL ServerSpravovaná instance Azure SQLSQL Server na virtuálním počítači Azure

Pomocí možnosti in-doubt xact resolution nastavte výchozí výsledek transakcí, které Microsoft Distributed Transaction Coordinator (MS DTC) nedokáže vyřešit. Nemožnost vyřešit transakce může souviset s výpadkem MS DTC nebo s neznámým výsledkem transakce v době jejího obnovení.

Následující tabulka uvádí možné hodnoty výsledku pro řešení transakce v pochybnosti.

Hodnota výsledku Description
0 Žádný předpoklad. Obnova selže, pokud MS DTC nemůže vyřešit jakékoli nejisté transakce.
1 Předpokládaný příkaz 'commit'. Předpokládá, že všechny transakce MS DTC v pochybnosti jsou potvrzeny.
2 Předpokládat přerušení. Předpokládá, že všechny nejisté transakce MS DTC jsou zrušeny.

Aby se minimalizovala možnost delšího výpadku, může se správce rozhodnout tuto možnost nakonfigurovat tak, aby předpokládal potvrzení nebo předpokládá přerušení, jak je znázorněno v následujícím příkladu.

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

Správce může také chtít ponechat výchozí hodnotu (bez záměru) a umožnit, aby obnovení selhalo, což by upozornilo na selhání DTC, jak je znázorněno v následujícím příkladu.

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

Tato in-doubt xact resolution možnost je rozšířená. Pokud k změně nastavení použijete sp_configure systémovou uloženou proceduru, můžete změnit in-doubt xact resolution pouze v případě, že show advanced options je nastavena hodnota 1. Nastavení se projeví okamžitě bez restartování serveru.

Poznámka:

Konzistentní konfigurace této možnosti napříč všemi instancemi SQL Serveru, které jsou součástí všech distribuovaných transakcí, pomáhá vyhnout se nekonzistence dat.