gsalas
Hola a todos: me conecto a dos servidores diferentes cuando ejecuto mis consultas de power bi. El problema es que cuando ejecuto una actualización de datos (que se ejecuta a diario), constantemente me quedo atascado en una tabla en particular como parte de la actualización: «Error OLE u ODBC: [DataSource.Error] Ocurrió un error al leer los datos del proveedor: ‘Ha ocurrido un error de nivel de transporte al recibir los resultados del servidor. (proveedor: Proveedor de TCP, error: 0 – Una conexión existente fue cerrada por la fuerza por el host remoto.) ‘
Mi DA me dice que el problema es el software de terceros que Power Bi está utilizando para acceder a la base de datos. No obtengo este error si actualizo manualmente cada tabla individualmente, pero eso lleva una eternidad. ¡Por favor ayuda!
hugoberry
MaxDegreeOfParallelism – grado de paralelismo, que es el número de procesadores empleados para ejecutar una sola instrucción, para cada consulta que tiene un plan de ejecución paralelo. Debe haber una configuración para todo el servidor, sin embargo, en algunos escenarios, esto podría funcionar como una sobrescritura.
MultiSubnetFailover– Es útil si tiene un clúster de SQL Server Always On Availability. Esto es lo que MSDN tiene que decir sobre esta opción en la cadena de conexión:
«Siempre especifique MultiSubnetFailover = True cuando se conecte a un escucha de grupo de disponibilidad de SQL Server 2012 o una instancia de clúster de conmutación por error de SQL Server 2012. MultiSubnetFailover permite una conmutación por error más rápida para todos los grupos de disponibilidad o una instancia de clúster de conmutación por error en SQL Server 2012 y reducirá significativamente el tiempo de conmutación por error para topologías AlwaysOn de múltiples subredes. Durante una conmutación por error de varias subredes, el cliente intentará conexiones en paralelo. Durante una conmutación por error de subred, reintentará agresivamente la conexión TCP «.
v-ljerr-msft
Hola @gsalas,
Para solucionar y reducir el problema, ¿podría intentar hacer una copia de su archivo pbix, y borrar el tabla en particular que plantea el problema de actualización, para ver si «Actualizar todo» funciona o no? (Nota: asegúrese de que está utilizando la última versión de Power BI Desktop): smileyhappy:
Además, ¿utiliza el conector ODBC para obtener datos de sus servidores en Power BI Desktop? Si es así, ¿qué proveedor está utilizando?
Saludos
gsalas
En respuesta a v-ljerr-msft
Creo que es un conector ODBC. No tengo ni idea. Acabo de iniciar sesión en SQL Server a través de Power Bi.
Eliminé las tablas como prueba y la actualización funciona perfectamente. Pero esa no es una solución. TENGO que tener las otras dos tablas de problemas en mi informe, no negociables.
blopez11
En respuesta a gsalas
Solo para que lo entienda
¿El error ocurre en el servicio Power BI cuando se programa una actualización?
Si es así, ¿acaba de empezar a pasar o siempre ha pasado?
¿Puede actualizar sus datos sin problemas en Power BI Desktop?
Dijiste que te conectas a dos servidores SQL diferentes
¿El problema solo ocurre en uno de los servidores?
Perdón por todas las preguntas, solo trato de entender en caso de que pueda ayudar
gsalas
En respuesta a blopez11
¿El error ocurre en el servicio Power BI cuando se programa una actualización?
Estas son actualizaciones manuales solo en Power Bi Desktop
Si es así, ¿acaba de empezar a pasar o siempre ha pasado?
Siempre ha sucedido, pero no todas las veces. 50/50
¿Puede actualizar sus datos sin problemas en Power BI Desktop?
No, Power Bi Desktop es donde aparece el mensaje de error
Dijiste que te conectas a dos servidores SQL diferentes
¿El problema solo ocurre en uno de los servidores?
Sí, el problema solo ocurre en el servidor secundario.
blopez11
En respuesta a gsalas
Interesante. Si se conecta a través de Obtener datos-> SQL Server, es probable que esté utilizando el proveedor estándar instalado con Windows. Entonces, si bien podría ser la causa, lo dudo.
Si puede extraer datos de un servidor SQL y no de otro, no creo que sea un problema con el proveedor de datos.
Me pregunto si es un problema de red (firewall) entre su escritorio y el servidor.
¿Los servidores sql están instalados en servidores o máquinas virtuales físicamente diferentes, o están en el mismo servidor físico?
¿Puede obtener una vista previa de los datos del servidor SQL incorrecto en el editor de consultas?
gsalas
En respuesta a blopez11
Confirmando que sí uso la interfaz Obtener datos -> SQL Server.
Los servidores SQL están ubicados en máquinas físicamente diferentes en ciudades completamente diferentes. El de Toronto (servidor primario) funciona bien. El de Atlanta (servidor secundario) es con el que tengo problemas.
La vista previa de datos funciona bien en las tablas de problemas. También puedo actualizar manualmente la tabla en cuestión desde el panel «Tablas» en la pantalla Lienzo (Puntos suspensivos -> Actualizar datos). La única vez que falla la consulta en el servidor secundario (Atlanta) es cuando actualizo todo el informe a la vez.
blopez11
En respuesta a gsalas
Si puede ver los datos en el editor de consultas, entonces realmente dudo que el proveedor de datos sea el problema.
No conozco su proximidad al servidor de Atlanta o Toronto, por lo que no estoy seguro de si la latencia de la consulta sería el problema
Sin embargo, parece que en algún lugar del camino al servidor de Atlanta, algo está terminando la conexión.
No puedo decirlo con certeza, pero parece que un rounter o un dispositivo de red está terminando la conexión tcp, tal vez porque la conexión está inactiva por más tiempo que un tiempo de espera configurado
Recomendaría posiblemente que uno de los chicos de su red instale Fiddler o Wireshark en su escritorio para tal vez obtener una idea del tráfico de red desde / hacia su escritorio hasta el servidor de Atlanta.
Lo siento, no puedo ser de más ayuda.
gsalas
En respuesta a blopez11
Gracias por tu ayuda. Desafortunadamente, realmente no tenemos un «chico» de la red. Solo mi DA que dice que SQL Server está ejecutando bien las consultas. Los servidores están alquilados, por lo que tenemos poco o ningún control sobre la configuración de conectividad. Es de esperar que Microsoft incorpore algún tipo de «almacenamiento en búfer» en la función de actualización de informes para que una conexión interrumpida no elimine toda la actualización.
hugoberry
En respuesta a gsalas
Puede jugar con varias opciones en la función de datos de acceso a Sql.Database en su consulta de Power BI.
Buscando en MSDN para esta función https://msdn.microsoft.com/en-us/library/mt260902.aspx hay muchas opciones para elegir. Mis favoritos son CommandTimeout, MultiSubnetFailover y MaxDegreeOfParallelism.
gsalas
En respuesta a hugoberry
Tuve cierto éxito al aumentar el tiempo de espera del comando a 30 minutos, pero sigo recibiendo el mensaje de error. ¿Qué significan los otros dos comandos y qué configuración recomendaría?
gsalas
En respuesta a hugoberry
Creo que la función ComandTimeout fue la clave. Lo configuré en 30 minutos y ahora todo se está cargando sin problemas. ¡Gracias!
Anónimo
En respuesta a gsalas
Hola … gracias por mencionar tu solución. ¿Puede ayudarme a comprender cómo establecer el commandTimeout en un valor mayor? Estoy enfrentando el mismo problema con mis informes de escritorio Power bi.
Gracias
luisbio
En respuesta a Anónimo
Hola viralmehta9 – Me encontré con el mismo problema hace un par de minutos y logré actualizar Command Timeout siguiendo estos pasos:
1) En el Editor de consultas, seleccione la consulta que desea actualizar.
2) Haga clic en el icono de engranaje de la fuente
3) Ingrese los minutos de tiempo de espera del comando deseado
¡Espero que esto ayude!
Anónimo
En respuesta a luisbio
Gracias @luisbio. Había cambiado mi enfoque. Pero gracias por la respuesta.
AlaaRad
En respuesta a Anónimo
Es una pena que nadie le haya respondido a este caballero 😭
blopez11
En respuesta a gsalas
Eso es increíble y una gran información para saber