Es curioso como los programadores a lo largo del mundo cometemos los mismos errores (¿omisiones?) una y otra vez, éste en particular me tuvo una horita dando vueltas.

La historia comienza cuando queremos añadir capacidades de forecasting con el algoritmo de series de tiempo a un cubo (luego publicaré un post sobre el paso a paso para hacer esto). El caso es que me gusta hacer las cosas bien y creé esquemas específicos para que las tablas de previsión estuviesen en su sitio. Cuál es mi sorpresa, cuando veo que , mejor dicho, cuando no veo que los datos lleguen a la tabla mientras que Integration Services dice que todo fue genial.

Como siempre, Profiler al rescate, perdido y desconcertado con la situación enchufé profiler, primero al motor analítico para ver que se ejecutaba la consulta, (ya comprobé que en previo si devolvía los datos) , después al relacional y … bingo.. ahí estaba el problema.. resulta que el comando que se ejecutaba era algo así como

¿Veis el detalle? ¿a qué esquema pertenecerá [Temporales.ForecastingXXXX], pues lamentablemente no al esquema temporales, al que yo quería asignar sino al esquema por defecto, en mi caso como en la mayoría al esquema dbo.

El corchete puesto «por si acaso» hace que mi tabla se llame realmente dbo.[TemporalesForecastingXXX] lo que hace que un servidor pierda un ratito antes de darse cuenta de donde está el error. Lo reportaré y lo probaré en SQL Server 2008 (Katmai) a ver si mantiene este bug.

Saludos desde Murcia.

 

Miguel Egea