Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En las secciones siguientes se describen los problemas comunes que podrías necesitar para solucionar problemas de cubos de datos de procesamiento analítico en línea (OLAP) en el almacenamiento de datos de Service Manager.
Errores de procesamiento
Aunque existen medidas de seguridad en la base de datos DWRepository para garantizar la integridad de los datos, no pueden evitar completamente la posibilidad de un error de procesamiento. El error de procesamiento más común es una excepción DimensionKeyNotFound. Dado que las dimensiones de SQL Server Analysis Server (SSAS) se procesan cada 60 minutos de forma predeterminada, es posible que, al procesar el grupo de medida del dato, las claves de dimensión aún no existan. En este caso, de forma predeterminada, la lógica de procesamiento vuelve a procesar las dimensiones de SSAS mediante una tarea ProcessUpdate y, después, vuelve a procesar el dato hasta dos veces para resolver los errores de clave.
Hay algunas situaciones poco frecuentes en las que se puede producir un error en el reprocesamiento. Estas son algunas causas posibles de este error:
Solo el repositorio de almacenamiento de datos aplica claves externas para garantizar la integridad de los datos. El data mart no tiene ninguna clave externa por consideraciones de rendimiento. Dado que el proceso de carga mueve en masa los datos del repositorio al data mart mediante métodos de Objetos de datos ActiveX, es posible que los datos de hechos se hayan cargado antes que las claves de dimensión a causa de un problema de falta de sincronización. Para resolver este problema, el proceso de carga debe ejecutarse de nuevo para mover las claves de dimensión existentes.
En las situaciones con varios data marts, el destino de todas las dimensiones de cada data mart es el data mart de almacenamiento de datos principal. Esto es para reducir el tamaño y el tiempo de procesamiento de los cubos OLAP. Sin embargo, es posible que el destino de los hechos de los data marts de Operations Manager o Configuration Manager sean claves de dimensión que aún no existan en el data mart de almacenamiento de datos principal. En este caso, debes ejecutar el trabajo de carga en el data mart principal para resolver el error de procesamiento de los cubos que tienen como destino los data marts de Operations Manager o Configuration Manager.
Solución de problemas de personalizaciones de MDX
Dado que muchas personalizaciones de cubo requieren un conocimiento práctico de expresiones multidimensionales (MDX), es habitual que se produzcan errores de sintaxis en la expresión MDX inicial que se usa para la personalización del cubo OLAP. Es posible que sea necesario realizar varios intentos antes de que la expresión sea adecuada para tus necesidades. Debes probar la expresión MDX en el cubo OLAP mediante Business Intelligence Development Studio (BIDS) o SSAS, sin guardar los cambios, antes de agregar la expresión MDX al cubo OLAP mediante una CubeExtension o definirla en el elemento SystemCenterCube.
Sin embargo, si tienes un error en la expresión MDX al agregarla en un módulo de administración mediante CubeExtension, puedes desinstalar la extensión de cubo para revertir los cambios realizados en el cubo OLAP. Si las expresiones se definen mediante un elemento SystemCenterCube, debes desinstalar el módulo de administración y, después, eliminar manualmente el cubo OLAP de SSAS antes de realizar correcciones y volver a implementar el módulo de administración de cubo OLAP. Por este motivo, debes definir personalizaciones de cubo mediante el elemento CubeExtension.
Errores de implementación del módulo de administración de cubo OLAP
Puede darse la situación en que desee examinar el grupo de medidas de WorkItems asignados al usuario y, después, quiera segmentar todos los usuarios de un departamento determinado. Cuando intentas aplicar el filtro en UserDim, no ocurre nada o no se devuelven datos. Esto puede resultar confuso porque UserDim tiene una relación con el grupo de medida.
En esta situación, recuerda que la misma dimensión de base de datos puede tener varios roles en el modelo multidimensional. Estas dimensiones se denominan dimensiones de juego de roles. Por ejemplo, la dimensión de tiempo se puede usar varias veces en un cubo OLAP que describe la información del vuelo. Las diferentes dimensiones de roles en este caso podrían ser Hora de salida y Hora de llegada, donde ambas apuntan a la dimensión Tiempo.
En un ejemplo de WorkItems asignados al usuario, el nombre de rol asignado de la dimensión de usuario es precisamente AssignedToUser. Si el usuario se filtrara por esta dimensión determinada en lugar de "UserDim", devolvería la información correcta.
BIDS tiene una característica útil denominada pestaña Uso de dimensiones que muestra las relaciones entre dimensiones y cubos OLAP para que puedas determinar qué dimensiones puedes usar para segmentar y analizar el cubo OLAP. Además, en el ejemplo WorkItems Asignados A Usuario, UserDim no tiene ninguna relación con el grupo de medida WorkItemAssignedToUser, mientras que UserDim(AssignedToUser) sí tiene una relación con el grupo de medida donde el atributo de unión es UserDimKey. En este caso, se observa que el nombre del rol está resaltado entre paréntesis en la pestaña Uso de dimensiones.
Service Manager no tiene una funcionalidad de pestaña Uso de dimensiones. Por lo tanto, tendrás que examinar BIDS para determinar exactamente qué dimensiones pueden filtrar en un cubo determinado.
Error al procesar cubos OLAP en un servidor SSAS remoto
En determinadas situaciones, el procesamiento de un cubo OLAP en un servidor SSAS remoto podría producir un error porque el firewall no se ha configurado correctamente. La instancia predeterminada de SSAS usa el puerto TCP/IP 2383, y este puerto debe desbloquearse en el firewall para permitir el acceso. Para desbloquear el puerto, ejecuta las siguientes instrucciones de línea de comandos:
C:\Windows\system32>set port=2383
C:\Windows\system32>netsh advfirewall firewall add rule name="Analysis Services" protocol=TCP dir=in localport=2383 action=allow
Detención del procesamiento de cubos OLAP
Puede haber muchas causas para que el procesamiento del cubo OLAP se detenga. Primero, debes asegurarte de que el servidor tiene suficiente RAM, especialmente en situaciones en las que el almacenamiento de datos y el servidor SSAS se hospedan en el mismo servidor; de modo que haya suficiente memoria para ejecutar trabajos de extracción, transformación y carga de almacenamiento de datos (ETL) y procesamiento de cubos simultáneamente. A continuación, se enumeran algunas posibles soluciones:
Hay problemas conocidos de interbloqueo en Microsoft SQL Server 2008 Analysis Services. La solución alternativa consiste en aumentar el número de subprocesos del grupo de subprocesos de procesamiento antes de que se detenga el procesamiento. Si el sistema ya se ha detenido, la solución consiste en reiniciar tanto el servicio de administración de System Center como el servicio Analysis Services y, luego, restablecer el elemento de trabajo de procesamiento de cubos a un estado de 3, que significa que no se ha iniciado, para que el motor de flujo de trabajo de Service Manager pueda reiniciarlo.
Nota:
Para determinar el elemento de trabajo de procesamiento de cubos pertinente, puedes ejecutar las siguientes consultas en la base de datos DWStagingAndConfig. Estas consultas se muestran individualmente, pero puedes combinarlas fácilmente en una sola consulta:
select processId from infra.process where processname like 'Process.{CubeName}' select batchid from infra.batch where processId = {ProcessId from previous query} select * from infra.workitem(nolock) where BatchId = {BatchId from previous query} update infra.workitem set statusid = 3 where workitemId = {workitemId from previous query)
Comprueba la propiedad CoordinatorExecutionMode en el servicio SSAS y asegúrate de que está establecida correctamente. Puedes obtener más información sobre este problema en los foros de SQL Server.
La tarea DWMaintenance se detiene en el paso ManageCubePartitions o ManageCubeTranslations.
En esta situación, la causa más común es un servidor SSAS que no responde. La solución alternativa es la misma para el primer paso de la sección anterior, "El procesamiento del cubo OLAP se detiene". Para determinar el elemento de trabajo del procesamiento de cubos pertinente, puedes ejecutar las siguientes consultas en la base de datos DWStagingAndConfig. Ten en cuenta que estas consultas se muestran individualmente, pero puedes combinarlas fácilmente en una sola consulta:
select processid from infra.process where processname = 'DWMaintenance'
select * from infra.ProcessModule where ProcessId = {ProcessId from previous query} (Note the ProcessModuleId where the VertexName is ManageCubePartitions/ManageCubeTranslaions)
Select * from infra.batch where ProcessId = {ProcessId from previous query} (Note the BatchId from the largest batch)
select * from infra.WorkItem where BatchId = {BatchId from previous query}
update infra.workitem set statusid = 3 where workitemId = {workitemId for the step that is not responding with the corresponding processmoduleid for ManageCubePartitions/ManageCubeTranslations)