Problema con tarea "Ejecutar Paquete"

14/05/2005 - 23:07 por indurain91 | Informe spam
Hola a todos.
Tengo un servidor con SQL-Server 2000 y Analysis Services 2000.
He diseñado una BD en estrella en SQL-Server y unos cubos en Analysis
Services. Los dos servidores están la misma máquina.

En DTS he creado un paquete local que carga las tablas de dimensiones y
las tablas de hechos, una detrás de otra.

He creado un segundo paquete local que procesa los cubos, uno detrás
de otro.

He creado los paquetes por separado para modularizar mis paquetes DTS.

Los dos paquetes ejecutados por separado funcionan perfectamente, pero
quiero combinarlos en uno solo. He creado un paquete master que invoca
a los otros dos utilizando la tarea "Ejecutar Paquete". Primero se
ejecutaría el paquete que carga las tablas y a continuación y en caso
de éxito se ejecutaría el paquete que procesa los cubos.

Pues bien, cuando ejecuto el paquete DTS compuesto, me sale la típica
ventana con la barra de progreso y lista de tareas en ejecución. La
primera, la que corresponde al paquete que carga las tablas se ejecuta
sin problema y comienza la tarea del segundo paquete, y la barra de
progreso se queda congelada durante horas en esa tarea y no progresa.
No devuelve ningún mensaje de error, parece que está corriendo, solo
que no acaba NUNCA.

He hecho otra prueba, puesto que el paquete que procesa los cubos
funciona perfectamente por separado, he pensado que el problema podría
estar en el workflow, porque de alguna manera después de la primera
tarea "Ejecutar Paquete" no pase a la segunda. Así que he probado a
crear un paquete compuesto únicamente de una tarea "ejecutar paquete"
que invoca al paquete que procesa los cubos, Y NO FUNCIONA !!!, se
queda procesando durante horas sin hacer nada, parece que no llega a
ejecutar NADA del paquete.

¿Alguien puede darme alguna sugerencia?.

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Olaia Vázquez
16/05/2005 - 08:52 | Informe spam
Hola

A mi me pasaba lo mismo y no encontré la razón. La manera en la que yo
conseguí que me funcionara fue renunciando al paquete que realiza el
procesamiento.

Me quedé con dos paquetes. El primero (o el número de ellos que necesites)
realiza la carga de las dimensiones. El segundo invoca a este paquete (o a
los que tú tengas) y después procesa los cubos (pero no llamando a otro
paquete sino poniendo en él la lógica que tenías dentro del paquete en el que
sólo procesabas los cubos).

A mi los paquetes que invocan a otros nunca me han dado ningún problema
excepto cuando invoco a un paquete en el que se realiza el procesamiento de
los cubos.

No se si esta solución te parecerá muy elegante pero fue la única manera en
la que yo conseguí que me funcionara.

Espero que te ayude,

Olaia Vázquez.

"indurain91" escribió:

Hola a todos.
Tengo un servidor con SQL-Server 2000 y Analysis Services 2000.
He diseñado una BD en estrella en SQL-Server y unos cubos en Analysis
Services. Los dos servidores están la misma máquina.

En DTS he creado un paquete local que carga las tablas de dimensiones y
las tablas de hechos, una detrás de otra.

He creado un segundo paquete local que procesa los cubos, uno detrás
de otro.

He creado los paquetes por separado para modularizar mis paquetes DTS.

Los dos paquetes ejecutados por separado funcionan perfectamente, pero
quiero combinarlos en uno solo. He creado un paquete master que invoca
a los otros dos utilizando la tarea "Ejecutar Paquete". Primero se
ejecutaría el paquete que carga las tablas y a continuación y en caso
de éxito se ejecutaría el paquete que procesa los cubos.

Pues bien, cuando ejecuto el paquete DTS compuesto, me sale la típica
ventana con la barra de progreso y lista de tareas en ejecución. La
primera, la que corresponde al paquete que carga las tablas se ejecuta
sin problema y comienza la tarea del segundo paquete, y la barra de
progreso se queda congelada durante horas en esa tarea y no progresa.
No devuelve ningún mensaje de error, parece que está corriendo, solo
que no acaba NUNCA.

He hecho otra prueba, puesto que el paquete que procesa los cubos
funciona perfectamente por separado, he pensado que el problema podría
estar en el workflow, porque de alguna manera después de la primera
tarea "Ejecutar Paquete" no pase a la segunda. Así que he probado a
crear un paquete compuesto únicamente de una tarea "ejecutar paquete"
que invoca al paquete que procesa los cubos, Y NO FUNCIONA !!!, se
queda procesando durante horas sin hacer nada, parece que no llega a
ejecutar NADA del paquete.

¿Alguien puede darme alguna sugerencia?.

Muchas gracias.


Respuesta Responder a este mensaje
#2 indurain91
16/05/2005 - 15:35 | Informe spam
Muchas gracias
Había pensado en eso, aunque me parecía un diseño más elegente
tener las tareas de procesamiento en paquetes para poder reutilazarlos.

Por cierto, he encontrado un artículo en la BD de conocimiento de
Microsoft que creo que habla de ese problema aunque no entiendo lo que
dice. Por si alguien le quiere echar un vistazo y lo entiende, os paso
el enlace

http://support.microsoft.com/kb/296533/es
Respuesta Responder a este mensaje
#3 Olaia Vázquez
17/05/2005 - 10:56 | Informe spam
En artículo que comentas explica el problema, aunque yo te aconsejaría que
leyeras la versión en inglés (http://support.microsoft.com/kb/296533/en-us)
ya que la traducción automática para el español no es muy afortunada.

Lo que explica es que la tarea de procesamiento de Analysis Services debe
ejecutarse en el thread del paquete principal y no puede ser invocada en la
ejecución de otro paquete. El modelo de ejecución que tienen este tipo de
tareas no es un modelo libre sino de tipo "Apartment Threading Model" en el
que cada thread trabaja con una copia del programa y de los datos globales, y
se ejecuta en una área protegida o apartamento. No se exactamente por qué
este modelo de ejecución impide su invocación desde otros paquetes, pero
parece que la solución que tenemos es la de invocarlos en el paquete
principal.

Un saludo,

Olaia Vázquez.


"indurain91" escribió:

Muchas gracias
Había pensado en eso, aunque me parecía un diseño más elegente
tener las tareas de procesamiento en paquetes para poder reutilazarlos.

Por cierto, he encontrado un artículo en la BD de conocimiento de
Microsoft que creo que habla de ese problema aunque no entiendo lo que
dice. Por si alguien le quiere echar un vistazo y lo entiende, os paso
el enlace

http://support.microsoft.com/kb/296533/es


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida