Hola, chicos,
Buen día.

Hoy les traigo otra publicación rápida sobre un problema que encontré al intentar ejecutar un script XMLA para procesar Microsoft Cubes (esto también sucede con consultas T-SQL), donde la conexión alcanzó un tiempo de espera (10 minutos) y el servidor la cerró con el siguiente mensaje:
A solicitação XML for Analysis expirou antes de ser concluída (The XML for Analysis request timed out before it was completed)

Mi primera reacción fue analizar las propiedades de LinkedServer para aumentar el tiempo de espera, pero los 2 parámetros ya estaban marcados como 0, es decir sin tiempo de espera. ¿Correcto?

LinkedServer - Timeout
Servidor vinculado: tiempo de espera

¡Equivocado! Consultando el manuales de microsoft, podemos observar la siguiente definición para estos dos parámetros:

Connection Timeout
Time-out value in seconds for connecting to a linked server.
If 0, use the sp_configure default remote query timeout Option value.

Tiempo de espera de consulta
Valor de tiempo de espera en segundos para consultas en un servidor vinculado.
Si es 0, use el valor de la opción de espera de consulta predeterminada sp_configure.

Es decir, si estos parámetros se definen como 0 (cero), el tiempo de espera para consultas vía Linked Server NO es infinito, sino el valor de los parámetros que se configuran en sp_configure, como se muestra en el siguiente cuadro:

LinkedServer - Timeout 2
Servidor vinculado: tiempo de espera 2

Por lo tanto, si tienes un problema de tiempo de espera como el que mencioné en este post al ejecutar consultas pesadas a través de LinkedServer (para procesar scripts XMLA son necesarios), debes cambiar los parámetros de tiempo de espera del Servidor Vinculado (o cambiar los parámetros equivalentes en sp_configure, pero esto podría generar efectos secundarios en todos los Servidores Vinculados que usan los valores predeterminados e incluso en las consultas que se ejecutan en la base de datos. No lo recomiendo)

Aumentando este límite a 1h:

LinkedServer - Timeout 3
Servidor vinculado: tiempo de espera 3

¡Ahora el cubo que estaba intentando procesar a través del script XMLA en lugar de procesarlo manualmente a través de Analysis Services (ahora puedo automatizar su procesamiento a través de T-SQL y Job en el Agente SQL) se está actualizando perfectamente!

Eso es todo.
Hasta la próxima.