Error de MS SQL: la operación no se pudo realizar porque el proveedor OLE DB 'SQLNCLI10' para el servidor vinculado ...

Ms Sql Error Operation Could Not Be Performed Because Ole Db Providersqlncli10for Linked Server

Un colega cometió un error al utilizar la prueba de transacciones distribuidas en el servidor de prueba (sistema: base de datos estándar de Windows 2008 R2: SQL SERVER 2008 R2) a través de la prueba del servidor vinculado. El mensaje de error es el siguiente:

establecer xact_abort en



comenzar tran



actualizar test.mydb.dbo.test_one set name = 'test' donde id = 3



cometer

El proveedor OLE DB 'SQLNCLI10' para el servidor vinculado 'prueba' devolvió el mensaje 'El administrador de transacciones ha deshabilitado su soporte para transacciones remotas / de red'.

Mensaje 7391, nivel 16, estado 2, línea 5



La operación no se pudo realizar porque el proveedor OLE DB 'SQLNCLI10' para el servidor vinculado 'prueba' no pudo comenzar una transacción distribuida.

Este error se produce porque el servidor o el servidor vinculado al servidor no está configurado con MS DTC (Coordinador de transacciones distribuidas de Microsoft).

En primer lugar, asegúrese de que las opciones de 'acceso remoto', 'conexiones de administrador remoto' y 'transmisión de proceso remoto' estén habilitadas.

Fragmento de código
  1. ejecutivo sp_configure 'mostrar opciones avanzadas',1
  2. Vamos
  3. reconfigurar
  4. Vamos
  5. ejecutivo sp_configure 'acceso remoto',1
  6. Vamos
  7. reconfigurar
  8. Vamos
  9. ejecutivo sp_configure 'conexiones de administración remota',1
  10. Vamos
  11. reconfigurar
  12. Vamos
  13. ejecutivo sp_configure 'Remote Proc Trans',1
  14. Vamos
  15. reconfigurar
  16. Vamos

Configurar los pasos de DTC

Paso 1: Inicio (abierto) -Panel de control (Panel de control) -Sistema y seguridad (Sistema y seguridad) -Herramientas administrativas-Servicios de componentes (servicio de componentes) (o Ejecutar-> dcomcnfg salta directamente del servicio de componentes).

Ingrese a la interfaz y haga clic en (Raíz de consola-> Servicios de componentes-> Computadoras-> Mi computadora-> DTC local)

portapapeles

Paso 2: haga clic con el botón derecho en las propiedades de 'DTC local' y podrá ver tres paneles: 'Seguimiento', 'Registro' y 'Seguridad'. Acerca de la configuración de propiedades. Puede hacer clic en 'Más información sobre cómo configurar estas propiedades' a continuación

portapapeles [1]

portapapeles [2]

Como se muestra a continuación, generalmente solo necesita configurar las propiedades en 'Seguridad'. Para condiciones específicas, configure de acuerdo con la situación real. Puede consultar la siguiente página de propiedades de DTC local: descripción de la tarjeta de opciones de seguridad

portapapeles [3]

portapapeles [4]

imagen

Nota: Si el servidor tiene un cortafuegos activado, debe asegurarse de que el puerto 135 esté abierto en el cortafuegos (es decir, el programa Coordinador de transacciones distribuidas puede pasar a través del cortafuegos).