Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aplicable a:SQL Server
Azure SQL Managed Instance
SQL Server en Azure Virtual Machines
Use la opción in-doubt xact resolution para controlar el resultado predeterminado de las transacciones que el Coordinador de transacciones distribuidas de Microsoft (MS DTC) no consigue resolver. La incapacidad de resolver estas transacciones puede estar relacionada con un tiempo de inactividad de MS DTC o con un resultado de transacción inesperado en el momento de la recuperación.
La siguiente tabla enumera los valores de resultado posibles para resolver una transacción dudosa.
| Valor del resultado | Descripción |
|---|---|
0 |
Ninguna suposición. La recuperación falla si MS DTC no puede resolver ninguna transacción en estado dudoso. |
1 |
Suponer la confirmación. Se da por supuesto que todas las transacciones dudosas de MS DTC se confirman. |
2 |
Suponer anulación. Se da por supuesto que cualquier transacción MS DTC en duda se aborta. |
Para minimizar la posibilidad de sufrir tiempos de inactividad prolongados, un administrador puede configurar esta opción para suponer una confirmación o una anulación, tal y como se muestra en el siguiente ejemplo.
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
Alternativamente, el administrador puede mantener la opción predeterminada (sin presunción) y permitir que la recuperación falle para que se le notifique un fallo de DTC, como se muestra en el siguiente ejemplo.
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
La opción in-doubt xact resolution es una opción avanzada. Si usa el procedimiento almacenado del sistema sp_configure para cambiar la configuración, solo puede cambiar el valor in-doubt xact resolution si show advanced options está establecido en 1. La configuración surte efecto inmediatamente, sin necesidad de reiniciar un servidor.
Nota:
La configuración coherente de esta opción en todas las instancias de SQL Server implicadas en cualquier transacción distribuida ayuda a evitar incoherencias en los datos.