Colección de citas famosas - Slogan de motivación - Cuando dblink falla, ¿cómo generar una excepción y cómo realizar operaciones posteriores?

Cuando dblink falla, ¿cómo generar una excepción y cómo realizar operaciones posteriores?

El servicio MSDTC proporciona servicios de transacciones distribuidas. Si desea utilizar transacciones distribuidas en la base de datos, debe iniciar el servicio MSDTC (Coordinador de transacciones distribuidas) en ambos servidores participantes.

2. Abra el puerto 135 en ambos lados

El servicio MSDTC depende del servicio RPC (llamada a procedimiento remoto (RPC)). RPC utiliza el puerto 135 para garantizar que se inicie el servicio RPC. Si el servidor tiene un firewall, asegúrese de que el firewall no bloquee el puerto 135.

Utilice el comando "telnet IP 135" para comprobar si el puerto de la otra parte está abierto al mundo exterior. También puede utilizar un software de escaneo de puertos (como Advanced Port Scanner) para escanear el puerto y determinar si está abierto.

3. Asegúrese de que las declaraciones en el servidor vinculado no accedan al servidor que inició la transacción.

Cuando el servidor que inicia la transacción ejecuta una consulta, vista o procedimiento almacenado en el servidor vinculado servidor, contiene acceso al servidor que inició la transacción. Esta operación se llama loopback y no es compatible, así que asegúrese de que no exista dicha operación en el servidor vinculado.

4. Agregue la instrucción set xact_abort ON antes de que comience la transacción.

Para la mayoría de los proveedores OLE DB (incluido SQL Server), las declaraciones de modificación de datos en transacciones implícitas o explícitas deben ser XACT_ABORT en is. configurado en ENCENDIDO. La única vez que esta opción no es necesaria es si el proveedor admite transacciones anidadas.